Implements the basic server interoperability tests for gRPC compliance.
Compressed tests, TLS, and authentication are not implemented yet, but
basic test cases pass against the C++ gRPC interoperability client.
Added an example showing how to send/receive custom metadata, and handle
call cancellation.
Implemented the remaining parts of metadata and cancel handling.
Addresses part of #8 and #12.
What works:
* Client and server can talk to each other, all 4 RPC variants.
* Client can talk to Go gRPC server.
What (probably) doesn't work:
* Anything else.