First steps at a protobuf implementation.

Switching from json will allow for a more robust protocol. Go limits the kind of
rpc system used via json. If I want to support other languages, I would prefer
to implement the rpc system independent of the language.