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

@hannosch 
We should at least do a length check on the email field and make sure it's smaller than the size of the DB column here. If it's longer, just ignore the email header.