SMTPConnectionPool is a pool of our SMTPConnection instances rather than smtplib's SMTPConnections.

The problem:
We created the SMTP connections at pool instantiation but did not use them till later; by then,
the server might have disconnected causing us to get SMTPServerDisconnectedErrors that we
had no way to handle.

The fix:
SMTPConnectionPool is a pool of our SMTPConnection instances. Each instance is a wrapper around
an (smtplib's) SMTP connection, which takes care of reconnecting if needed.

This will also simplify the implementation of retry-sending when we decide a scheme for it.

Tests:
All sendmail tests pass consistently without raising those errors now.