Add a password reset implementation

Uses a seven step procedure:
  1. (user) Fails to login twice or more
  2. Clicks the 'Forgot my password' link on the login form
  3. Submits the username or email address and triggers a password-reset
     email
  4. Clicks the link in the email and is directed back to the reset page
  5. Enters the username or email again and is logged in
  6. Password change is forced, but current password is not required
  7. Password is updated, user can continue the session without
     authenticating again
Add concept of initial data

We should move initial data out of the install SQL file, which will make way
for a few things:

  * Internationalization -- which breaks the migrater model currently.
        Moving the data outside the install script makes it translatable
        without changing the SQL hash
  * Review -- Migrations which add more data don't highlight new features
        that need review to the adminsitrator