Account management

Allows user to login, logout, and update profile preference. 

- [x] Setup mongoose
- [x] Create user schema
- [x] Expose session to angular
- [x] User can register an account
- [x] User can login
- [x] User can logout
- [x] User can view his profile
- [ ] User can edit his profile
   - [ ] Change password
   - [ ] Add / Edit api keys
- [ ] User can delete his profile