Restructure attach and detach

To make the control flow more obvious.
Route multicast packets across the weave network

Add a route to send multicast packets to ethwe and so across the weave
network.

Without that, multicast packets get sent to the default route, i.e.
to docker's eth0 interface, rather than across the weave network.
So IP multicast doesn't work between containers on different hosts,
even though weaver supports it.