Make all message transmissions go through send_Message function.

The whole goal here is a slow progression of the api over to a system that
is capable of having smarter transmission of data. Which includes support
for seamless transmission of FileHandles, and zero-copy of heavy data.
Change where we de-serialize heartbeat messages.

We want to de-serialize the messages in the server itself so that the
SocketMonitor doesn't have to know anything about zmq or how things are
encoded on the wire.
Update the client to the new Message interface.
Update the worker to the new Message interface.
Update the server to the new Message interface.
Merge pull request #172 from robertmaynard/invert_message_serialization

Invert message serialization