Add versions of findUserByEmail for verified/don't care scenarios.

Additional refactoring of test suite that shouldn't really be in
this commit.
Ensure emails are unique indexed
Various changes to signup, confirmation flow.

 - disabled recaptcha's by default
 - add way of re-sending verification email
 - restrict actions at controller level for unverified users (as per staff)
 - misc other changes and tests