Implement user accounts

* [ ] Ready to be merged.

Contains user account logic and implementation of a local strategy for Passport.js.
Yep – will change that in a bit. Untested so I'm expecting a few bugs.

Also it's worth noting that we'll have to add our own registration strategy as the current implementation only supports an 'id' and 'password' field.