Add email field to User model (#312)

- Add an email column (to model, not unique, migration)
- Populate email with 'X-Email' header at submission time
- Update tasks to handle
- Always expect a nickname, optionally populate email in user object in process_user
- If email addresses don't match for existing user, update email
- Add tests
Merge remote-tracking branch 'jkerim/312'
Small tweaks for user email addition, refs #312.

* Made sure model and migration agree on column length.
* Stick with an empty string as the fallback value.
* Add test for the email too long case.