Added email and SMS two factor authentication.

This closes #3 and closes #4.