Stub implementation of a server connection pool.
Unit tests for ServerConnectionPool
Test WSGI app calling.

- Factor out test servers into a separate file
- Adjust docs to note new Flask dependency
Significantly refactor the master/slave message passing interface.
Refactor proxy core communications to be clearer.
Remove redundant clause in controller.Reply
Unit test dummy response functions.
Test request and response kill functionality.
Test client connection close conditions.
Test a difficult-to-trigger IOError, fix cert generation in test suite.
Handle server disconnects better.

Server connections can be closed for legitimate reasons, like timeouts. If
we've already pumped data over a server connection, we reconnect on error. If
not, we treat it as a legitimate error and pass it on to the client.

Fixes #85
Refactor to prepare for SNI fixes.
Significantly simplify server connection handling, and test.
Test cert file specification, spruce up server testing truss a bit.
New SNI handling mechanism.
Test SNI for ordinary proxy connections.
Test SNI for transparent mode.
Remove human_curl requirement for the test suite - it's pathoc all the way, baby.
Test cert generation errors.
Extend unit tests for proxy.py to some tricky cases.