Add proxy support for client socket connections

Related issue: #1133

- Remove unused dependencies from POMs
- Add ProxyHandler and its implementations
We should use `SocketAddress` wherever possible so that it can work with non-INET transport potentially.