While we're only reacting to containers going away, it's more
convenient to bundle the docker events watcher into the server.
I've added a flag to switch it on; and switched it on by default in
the container.
I also implemented `Zone.DeleteRecordsFor(ident)`, which removes all
records for a particular container.
One minor change to the structure of the code is that the Zone is now
constructed *outside* the server, and given to it and the updater.
* In general we'll have an IP address and a subnet mask for the weave
network address; account for this in the zone DB and in the HTTP
server.
* Use the net.IP type rather than string, which gives us a bit more
generality (in theory it'll deal with Ipv6 too) and validation (we
attempt to parse the input)