Crash on accept fixes & refactor

What started as fixing a crash in accepting ToS turned into a refactor of verify since the logic was too hard to follow.

Refactorization:
* Moved the "verify logic" into the verifyUser method, verifyUser helper (postVerify) method, and local method blocks.
* Simplified execution path within the verifyUser call to be a sequence of verification checks. 
** Once all tests pass, call the handler with success.
** At any point of failure, call the handler with fail
** At any single test pass, update the user as needed and recurse verifyUser