Field optionality for ipv6, sanity checks

+ Enables ipv6 address segments to follow
  syntax x:::x:x:x
+ Added extra tests.
+ Organized fiels.