Issue our own log messages independently of the "debug" parameter, so a
user can activate our log messages through Python's standard logger
config features, while still having dsabled smtplib's debug messages,
which are very verbose and always go to stderr.
Change the log output for failed and ambiguous verifications from
"warning" to "info" as this is a normal function of the library and not
something that would require attention. Also this makes sure that no log
output is generated if logging is not configured at all (default is to
only display warning and above).
* Improve exception class hierarchy
* Raise exception on malformatted "from_address" parameter instead of
yielding a negative verification result
* Add option to raise exceptions on ambiguous results
* Improve exception parameters to allow for a more structured analysis
of the negative response
* Yield a negative verification result upon the first permanent error on
RCPT TO, just like a mail server would also bounce after the first
permanent error
* Unify error message format, always include SMTP status code
* Use "with SMTP" to properly close connection even in case of error
* Establish connection after setting debug level so this is debugged as
well
* Properly handle SMTP error status codes on connection
* Don't return ambigious SMTP status codes, as they are not used anyway