Fix email signup race condition

...by creating a sparse unique index on `User.email`. This enforces uniqueness on all users with non-`None` emails, but still allow `None` emails (sometimes we don't get an email from Facebook logins)