Fix bug 986162: Do not allow '@' in new usernames.

This adds the validation to clean_username() on our custom allauth
adapter, ahead of allauth's own default validation (which would allow
the '@'). That validation does two checks:

1. A simple check for the '@' character which, if found, raises a
   custom error message explaining that an email address cannot be
   used as a username.

2. A tweaked version of allauth's own regex-based check, but with a
   regex that does not include '@' and displays an error message which
   does not suggest '@' as a legal character when the username does
   not match.

Testing of this is very light, checking only that `clean_username()`
does the correct thing and raises errors with the correct
messages. Full integration testing is not currently possible, but
should be added as soon as it becomes possible.
Django 1.4 contains a assertRaisesRegexp method already.