make use of requests library to handle TLS
Rather than rolling our own SSL wrapper, make use of the one in requests. Allow a custom requests.Session object to be passed into the connection if custom behaviour such as CA pinning is required.
Closes #4 (closed)