Use 3.4's ssl.create_default_context when available

Related #472 
This is backporting the ``SSLContext`` concept to Python <2.7.9 and 3.1. Although probably it should be called ``SSLContext`` instead of ``FakeSSLContext``?