Custom user model

- Registration takes username, email, and password x2
- Users log in with email
- Email is unique
- User is not logged in after registratin, but after
  email confirmation is logged in
- Permission check by group annotation