Fix #173: HTTPS request doesn't work when disable_ssl_certificate_validation=True

Sets `SSLContext.verify_mode` to `ssl.CERT_OPTIONAL` if `disable_ssl_certificate_validation` is `True` otherwise it is set to `ssl.CERT_REQUIRED`.
I believe my patch fixes the issue without avoiding code paths that are intended to improve security.
```python
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
```
Newer versions of Python 3 include `SSLContext` objects in your requests. Among other things, these allow you to specify which protocol to use. That means we get a reasonable amount of security even when we don't care that the certificate in use is signed by a CA.