[WIP] Native Tor support

This PR is intended to add Native Tor support to OpenBazaar.

Given that zmq does not support name resolution via SOCKS it has been necessary to create a small TCP redirector within PeerConnection that allows zmq sockets to be routed via SOCKS/Tor.

Currently this PR will allow any node to connect via Tor (using --tor-mode or -t) although only other Tor-mode nodes will be visible. Functionality is the same as non-Tor mode. To receive connections uou will need to configure a Hidden Service in Tor and point the hidden service port at your local OpenBazaar server port (usually 12345).

This PR is currently running a Native Tor seed node operating at tcp://fksu5carj3okqfan.onion:12345 suitable for test purposes if you wish. 

You may access the web interface of a demo client here: http://fksu5carj3okqfan.onion

Summary of changes:
1) Tor mode added to the launcher
1) socksiPy-branch has been added to requirements.txt
2) A utility library file called tor_util.py has been created that currently contains a redirector class - TorRedirector 
3) PeerConnection._initiate_connection in connection.py has been modified to call TorRedirector when a zmq peerconnection via Tor is required
4) An '.onion' hostname may be specified for your nodes local IP using '-i'

Outstanding Changes
1) Ensure that other connections such as those to blockchain and Obelisk go via Tor 

OK, buffers are now 100kb. Will review further opportunities for optimization.