Clean-up @hhugo v6 patch, add scopes, add generic fns, break V4.make interface

Changed int16 representation to int from int32.
Fixed IPv6 masking bug.
Added scope classifier variant to categorize addresses.
Changed V4.make to accept int rather than int32.
Added several generic address functions.
Added new V4 constants.
Added CIDR-address support.
Added new V4.Prefix multicast constants.
Added V4 categorization predicates.
Ipaddr should obey Map.OrderedType
Use normal variants for Ipaddr.t
Strengthen type checking, build tests with backtraces
Use normal variants for Ipaddr.t in the mli too...
Update and improve IPv6 tests
Prepare for release
Prep 2.0, add Hugo Heuzard to authors, turn on more errors
oasis regen
Consolidate IP address tests
Make roundtrip tests explicit and check errors
Test ipv4 scope
Check raw parse functions and fix IPv6 offset bugs and uncaught parse errors in CIDR strings
clarify "CIDR-scoped address"
don't allocate closures in ipv6 parsing
Check CIDR-scoped address roundtrips
Make tests compatible with 3.12 and 4.00
Check generic string_raw roundtrips and errors
Check generic address map functionality
Merge pull request #19 from mirage/v6

IPv6 Address Support