This includes some fairly dramatic restructuring, both to support
OpenSSL and to make the code more clear. The SSLSocket class interface
is based on the Python 2.6 class of the same name (in the new ssl
module) to make a future update to that class easy.