Implement user accounts

* [ ] Ready to be merged.

Contains user account logic and implementation of a local strategy for Passport.js.
Shouldn't this be `'local-login'`?