Normalizes a formatted IPv6 address to a canonical shortest form.
addr is parsed according to the hexadecimal
"x:x:x:x:x:x:x:x"
syntax or any of its shorthand varieties
(see RFC 2373, section 2.2).
The returned address is normalized as follows: The longest
sequence of zeroes is shortened using "::". If there are
several of equal length then the leftmost is shortened. All
hexadecimal letters are lower-case. There are no superfluous
leading zeroes in the fields.
Zero is returned if addr is incorrectly formatted.