Update models.py

Simplify LOT.verify
Don't mix unicode with str
Update views.py

Replace simplejson with json
Use session.update instead of iterating out session data.
Update middleware.py

Same again
Update middleware.py

Add LOTAuthenticationMiddleware which allows clients to authenticate by passing their UUID in a request header.
Make Admin more usable
Fix header reference
Tidy with flake8
Update README
Update tests to stop using simplejson
Adding Curtis Malone as author after cherrypick some commits from his fork