Stub entry for IPv6 addresses
Renamed &constructor to &octet_constructor
First implementation of pattern.
Make the entire patterns a named capture group.
First tests for IPv6 pattern.
Fix the patterns for leading zero allowed/not allowed.

Also added patterns for zero's not allowed.
Contractions should be maximal.

Unless -max_contraction => 0, do not allow a 0 unit immediately before
or after a contraction.
Test contractions.
Implemented handling of -single_contraction
Test leading zeros.
Subpatterns for -leading_zero => 1, -max_contraction => 1 (IPv6)
First contraction tests with -leading_zeros => 1 (IPv6)
Test leading zeros around contraction (IPv6)
Test multiple zeros and contractions (IPv6).

We have to make sure that when a pattern allows for leading_zeros, but
also requires maximum contractions, the match fails if a multiple zero
flanks a contraction.
Pattern should still match on a 0 that does not flank a contraction.
Mention that '::' is one of the addresses being tested.
Test that if contractions are used, something is actually contracted.
Test that there is no more than one contraction in an IPv6 address.
Split tests into two files.