Socks proxy support

Adds a configuration parameter, proxyEndpoint, which enables socks5 proxy
support in the driver.

This commit also refactors connection information so that it resides
within ClientSession in the Presto client package.
s/assert/enforce/