Make HTTPSender validate server certificates

This change causes the HTTPSender to validate server certificates. If a
server certificate fails vaalidation, the HTTPSender simply throws the
exception raised by the ssl default context. There is not as of yet any
possibility of continuing on to the site dispite an invalid server
certificate. That ability is likely to be added at some later point.

This change uses the method ssl.create_default_context() which was
introduced in Python's standard library starting at version 3.4. Thus,
this change breaks compatibility with Python versions less than 3.4 .
Add unit tests for ProxySender