Initial definition of messages for UDP communication.
Fix some silliness around ipv6 addresses.

- They are 16 bytes, not 16 shorts, long.

- Encode them in network byte order, because the only real consumers
  (BSD sockets and Winsock) want them that way, so the interface code
  will be simpler.
Initial implementation of UDP-based message-bus implementation.

Still not well tested, and I don't know whether it actually compiles
with Winsock yet.
Implement basic demo on top of UDP message bus.

Still has issues with broadcast. No idea what's going on there yet...
Remove references to sin6?_len.

Apparently an unused BSDism.
Make actual binding on INADDR_ANY instead of the actual interface address.

For some reason, using the actual interface address prevents receiving
broadcast messages received on that interface. Sadly this usage puts us
in a position where the OS could start using a different IP address for
transmission that we say we do.

This still doesn't solve why broadcasting doesn't work on FreeBSD.