Implement a trivial SOCKS shim.

To launch the shim, add "--socks-shim shimPort,socksPort" to the client
side obfsproxy command line arguments (Eg: "--socksShim 9250,9150").

To use the code:
   import obfsproxy.transports.wfpadtools.socks_shim as socks_shim

   # Just an example, anything that implements the interface works.
   class ShimObserver(object):
       def onConnect(self, conn_id):
           # Will be called when a new SOCKS connection is established.
           pass

       def onDisconnect(self, conn_id):
           # Will be called when a existing SOCKS connection finishes.
           pass

   obs = ShimObserver()
   shim = socks_shim.get() # Will raise a RuntimeError if no shim.
   shim.registerObserver(obs)

   # Do whatever.

   shim.deregisterObserver(obs) # When no longer interested.

I only tested this with obfs3 since the wfpadtools code doesn't
actually run with tip of tree.
Refactor and write tests following tester.py construction in order to
test the delay and length of individual messages. WFPadWorker, in
contrast to tester.py's ReadWorker, reads intermediate results and not
just the output. For that ends, we wrote a wrapper for the
WFPadTransport that extends and implements the tests.
Set default behaviour of probdist to scramblesuit's. Note that
Scramblesuit has a bug and it isn't fixed yet.
Refactor to camelCase notation to be cosnistent with twisted naming
format.
Refactor specific transports to camelCase notation to be cosnistent with
twisted naming format.
Refactor and modularize WFPadMessageExtractor.
Remove old filter module.
Add new flag for control messages and add opcode for start and stop
padding operations.
Clean templates for adaptive and supersequence defenses.
Start integrating and testing the shim in buflo.
Increase transports padding period for testing.
Moved test-related constant from const to webfp_test
Refactor webfp_tests in order to test Yawning's shim and reuse parts of
tester.py.
Integrate shim in BuFLO.
Refactor and clean code.
Moved the shim subparser from pyobfsproxy to each specific defense.