Update imports for tls_handshake.py.
Fix tls_handshake.py method makeConnection to handle socket timeouts.

  * makeConnection() now returns a ConnectionTimeout wrapped in a
    t.p.failure.Failure() if it receives a socket timeout.
Fix method connectionFailed to handle socket timeouts.
Changed log.msg to log.debug when we can't get the peer name in
connectionSucceeded().
Set tls_handshake.state to be connection.state_string so that it gets updated
and we always have the latest state accessible in failure and success
callbacks.
Appease asn's penchant for borderline obsessive compulsive docstrings.

  * Notice, also, how the last sentence is less than 70 chars. :)
Make a note on the socket option settings for blocking.
Fix method doHandshake() to callback to handleWantRead() and handleWantWrite().
Add better printing of results to stdout in handshakeSuccessful().
Remove erroneous state string report from handshakeSuccessful().
Switch to using threads.deferToThread() in method deferMakeConnection().
Add call to new deferMakeConnection() to test_tls_handshake().