Added support for socks proxies

This addresses issue #169. 

You can now create a connection manager that is proxied using socks. Implemented in ~30 LOC