Add `join` and `leave`.
Add `multicast`, fix bugs in message encoding.

Connection, group-joining, multicasting, group-leaving, and disconnecting
all work against a local Spread daemon.