- Includes testing to cover flow. - Moved TOTP logic to its own controller. - Added some extra totp tests.