Add proxy support for client socket connections

Related issue: #1133

- Remove unused dependencies from POMs
- Add ProxyHandler and its implementations

TODOs:

* Test a random chain of multiple proxy servers
* Rewrite the socksx codecs to have only two decoders per protocol version - one for server and the other for client
* Use unique handler names for the proxy protocol codecs, so that multiple ProxyHandlers can work together - need to expose DefaultChannelPipeline.generateName() somehow.

I wonder if we really need to expose this via setter and not via Constructor.