Certain malformed IPv6 addresses were being parsed

... namely those containing three or more colons, or two or more sets of
two colons.  This commit ensures that these addresses do not parse.

Based on a patch from petergoldstein.