feature(client): Check email verification tokens before rendering.

* URL parameter validation for `/complete_reset_password` and `/verify_email`
* Add validate.js for a central place to do validation.
* Update form to validate email addresses using validate.js
* Validate emails, tokens, and codes on the client.
* Handle errors sent by the server that says uid or code is bad.
* Handle expired tokens by giving the user an opportunity to resend the email.
* Add unit and functional tests for corner cases.

fixes #788
Merge pull request #889 from shane-tomlinson/issue-788-check-verification-tokens

Issue 788 check verification tokens