Socks interceptor and logging system.

Hey infinity0,
In the first commit, I've added a SOCKS interceptor. It works by subclassing the socks protocol and factory similar to how obfsproxy did it. But instead of intercepting the data like obfsproxy does, it instead stores the requested address and port and redirects the client to the first pluggable transport.

The key part is that the last SOCKs proxy is originally set up to send data to nowhere and when the SOCKS client connects and requests the actual bridge address, the last SOCKs proxy is restarted with the correct address.

The second commit is mainly housing keeping, I needed to share a common logger object between my modules so I've added a setup logger function and a logger object. Later I'll add command line options for this logger object.