Bring the pub3sgpackrpc code up to correctness.

1.) Fix the recv() flow from hanging when the response is smaller than 16 bytes
2.) Add a new class, client_t, which handled connecting to a remote
msgpack-rpc server, and also managng the reconnect loop.