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.
We go through quite a lot of effort in the code above to ensure we do not pretend to succeed when something has actually failed, and to provide some error messages in that case. Need to do the same here, surely.