Now that `weave dns-args` doesn't parse any flags we need to
call it or not call it, which `start_container` will do for us.
Also add back the part of the test where we run weaver with and
without DNS, which had become lost in 8b061fd555
Also change a couple of tests to use proxy to start containers,
again to avoid needing `dns-args` to parse flags.
Given `proxy` & `router` processes have been merged, `launch-proxy`,
`launch-router`, `stop-proxy`, `stop-router` do not make sense any more, and
should just be `launch` and `stop` with the appropriate flags.
- Nameserver holds a sorted list of (hostname, peer, container id, ip) tuples.
- Entries are gossiped using topology gossip / broadcast - only new/updated entries
are propogated as expected.
- Entries for a given peer are removed when the connection to the peer is lost.
- Entries are tombstoned when containers die. Tombstones are kept for 10mins,
as they do not need to survive partition, only gossip propagation delay.