Added SSL and Netty ChannelPipeline support to TcpClient and TcpServer.

Added a special subclass of ServerSocketOptions called NettyServerSocketOptions which provides a hook for configuring the ChannelPipeline via Consumer. Added a test case to cover using a Netty decoder.

Added a new options class called SslOptions which allows you to specify SSL parameters like the keystore file, password, TrustManager password, or even give a Supplier<TrustManager[]> for configuring your own TrustManagers (which is used in testing to enable "trust all" for clients so they don't error out on self-signed certificates). Also added a special SSLEngineSupplier that is used to create the SSLEngine for passing into the Netty handler. This could be reused in other implementations or anywhere an SSLEngine is needed. Also updated tests to check SSL support. Rolled the JsonCodec POJO test into the SSL test to check sending POJOs via JSON over SSL (probably useful for clustering).