TODO:

* Tests for Client/Server with do_handshake_on_connect=False
  - An Server with SSL should require SSL. Does it work if the client is not
    starting the handshake?
  - Do we rip out do_handshake_on_connect and remove support for unwrapped
    SslTransport?
    - SslTranport tests for _close_on_unwrap=False
* Add connection refused tests to Client/Server tests.
* Ensure eof_received() is always called for SSL transports (test_ssl.test_echo)
* Threads that exit without calling Hub.close() are not garbage collected. Not
  sure how this can be implemented. I think it is not possible without this
  Python RFE: http://bugs.python.org/issue14073
* gruvi.http needs better test coverage
