Added support for Protobuf codec and moved RPC system to it.

The support is a modified version of the protorpc package at:
http://godoc.org/code.google.com/p/protorpc.

Our version is modified to support gogoprotobuf. Eventually we'd
like to remove the rpc/codec subpackage and use gogoprotobuf's
implementation. I've started a thread with them for support.
We don't have go bindings for snappy in our dependencies. You'll need to either add this to bootstrap/docker/etc or remove compression support (or fall back to something like gzip instead of snappy)