Add shared netty io thread pools for async http client

Allow the http clients to share a thread pools for netty boss and
workers. This is enabled by default.

Refactor the code so that all netty specific code and tests are in the
client.netty package
shutdown fixes for the shared pool
Improve API for NettyAsyncHttpClient IoPool changes