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