Added ChannelOptions, which are used to specify options on a
ClientChannel. At the moment, only TLS options are supported.
Moved CallOptions from ClientChannel to a new Client stub base class.
Per-RPC call options are now specified on the stub instead of on the
channel, allowing several stubs with different options to share the same
channel.
Added support for TLS on the server side. TLS options are specified when
creating the Server.
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.