Rename Contact::is_known_user to Contact::has_database_account.

To reduce future confusion.
Move towards support of accounts with known email but no database record.
Remove redundant is_empty calls.
Nits for becoming a new user
Session variables: Prefer "trueuser", make it an object.
Contact::has_email is now what it says.
If Opt[chairHidePasswords] is true, chairs cannot change others' passwords.