Optional verification of email address before the account can be used.

This commit is for regular account creation. It does not support social
signup yet.
Finish email verification changes. Add support for social sites.

This also fixes a defect where social linked accounts could continue to
log in even if they were marked inactive.