Support Python 3: initial ops

Expanding the test coverage (see https://github.com/incuna/django-admin-sso/issues/4) and adding Python 3 support to the untested stretches of the code go hand in hand, so I can't really add Python 3 support all in one go (unless it miraculously works) with one issue.  This issue is about P3 support before I expand tests - i.e. when the initial six tests in test_auth all pass on Python 2 and 3, this can be reviewed and merged.