net.lisp, zone.lisp: Major overhaul for multiple address families.
A lot of internals have changed, and some user-visible features have
been dropped.
* IP addresses and networks are now captured in CLOS objects, and the
low-level details of messing with them are handled in generic
functions which live in their own separate files.
* `ipnet-pretty' has gone. Now `ipnet' objects are directly
printable.
* `ipnet-changeable-bytes' has gone; there's now
`ipnet-changeable-bits' instead.
* `host' and `net' objects now track multiple addresses, so accessing
them is a bit different. `net-get-as-ipnet' has gone, replaced by
`net-parse-to-ipnets'. Acceptable syntaxes have mostly been
enhanced, with the ability to control which address families are
emitted.
* Slightly painfully, support for DNS lookups has been dropped --
because SBCL doesn't have a good way of doing IPv6 lookups.
* The `:cidr-delegation' record parser has gone, and been replaced by
`:multi', which can be used to achieve the same thing (and a number
of other special effects besides).
* For the sake of sanity, the `:a' record parser only produces A
records. The new `:addr' parser will produce records for all
address families associated with its input.