Specify the error conditions from /registrations.

These have been pretty solid for a while and it seems reasonable to
provide team leaders with some slightly more useful feedback about
rejections of their registrations.

Change-Id: I8f8afc2902d63cfe0732d17e9af165be4a66b442
Have the spec reject registrations which appear to already exist.

Since we're now creating users with no blueshirt intervention (and
as yet, very little oversight), we need to be reasonably sure that
the users being created don't already exist.

Change-Id: Ia528260853346d8fe1fa21bd4ffdd7796673336a
Add a helper method to see if an email address is used.

Check the LDAP database, the new users database and the pending
email change database.

Change-Id: I647fe9bbde16277abd58a33ce9661c704295543e
Implement rejection of registration which would be duplicate.

This matches the spec per 3.2.0-alpha.4, and rejects registrations
where either the email or the full name is already in use.

Change-Id: I84389b90fea135aa81c316774e8acb0abbdfd64d