add form tests

- refactor caffeine.forms:
  - extract error messages into module level constants
  - show password mismatch error if only one password field is filled in
    SettingsForm
  - use Django mechanisms for required field handling in SelectTimeZoneForm
  - set instance fields in SubmitCaffeineForm.__init__ instead of overriding
    save method
  - override SubmitCaffeineForm.clean_date instead of SubmitCaffeineForm.clean
- implement tests for all caffeine.forms