Install requirements for SSL SNI

We use SNI to serve up *.<env>.performance.service.gov.uk in production,
sadly python2 does not support SNI out of the box which causes our
status check on stagecraft to fail.

There is information about it in:
  - http://docs.python-requests.org/en/latest/community/faq/
  - https://stackoverflow.com/questions/18578439/using-requests-with-tls-doesnt-give-sni-support/18579484#18579484
  - https://github.com/kennethreitz/requests/issues/749#issuecomment-19187417

These point to using this combination of libraries to replace the
default SSL handling in python2.
Merge pull request #4 from alphagov/ssl-sni-requirements

Install requirements for SSL SNI
Add Sign-on-o-tron flow

This commit:

- Adds a /login endpoint that redirects to our signon provider
- Adds a callback endpoint to receive the user from the provider
- Reorganises the app slightly to pull the authentication stuff
  out into a separate file