Reworked sessions, created Token model to handle regular logins and logi...

* [x] Refactor sessions
* [ ] Tidy up

Still a bit of work to do here, but I refactored the sessions in a much more sensible way, taking advantage of the session middleware. I removed the 'session' model, and created a 'token' model, which we can use for both post verification and logging in. Still a bit of work to do here!