Implemented startTLS for `ProxyBase`.

According to RFC 4513 section 3.1.1, it is invalid for a client to request startTLS
if:

  - TLS is already established.
  - A multi-stage SASL negotiation is in progress.
  - When there are outstanding responses for requests previously
    issued on the session.

I believe that I have handled the first case.  The 2nd case is not
applicable until someone implements SASL negotiation for the server.
I have not handled the 3rd case.  I will have to give it some thought
as to how it might be handled, especially in light of the fact that
some requests can result in multiple responses.
Made changes to reflect project coding standards.

Removed blank lines.
Docstrings should exist for methods and classes.
'=' delimited by a space on either side.