This commit includes the base support for versioned RPC APIs. It
introduces the RpcProxy and RpcDispatcher classes that have common code
for handling versioning on the client and server sides, respectively.
RPC APIs will be converted one at a time using this infrastructure.