Wire Protocol

Basic parts of the wire protocol, with full serialization and per-client data.
In the future we'll realloc each clients data, but that needs to come once all of this work is complete.
Currently the client side of set_value is working, with serialization over the wire being marshalled, etc, via the new protocol helpers.
The daemon side isn't yet complete, this is just the protocol part. It is incredibly trivial to implement both get and set value now. Once all of this work is complete we'll start looking at multipart messages (split-packet)