make sure falsy email and key don't break the code
update docs
add events tests for two factor auth
add twoFactor route to config
add rest tests for two-factor auth
add two-factor auth test for custom route
add two-factor auth test for custom view
add custom two-factor auth view
update changelog