Improve validation of email domain part.

This was previously only validating that an email had exactly one '@' in
it.  This tightens that up to only allow well-formed domain parts (we
had some users in the db with a trailing , on the email address.
Migration to fixup invalid email addresses

We've got some bad data in the database.  We have emails ending with
various noise, ranging from '>', ',' to odd unicode whitespace
characters (eg U2000E).
Merge pull request #217 from alphagov/email_validations

Improve validation of email addresses and fixup bad data in the db.