Added support for socks proxies

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