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
fix(i18n): Ensure i18n works in Chrome.

* Remove the bulk of the client side code used to determine the user's language.
* Use the `Accept-Language` header to allow the server to determine which language to show to the user.

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

Issue 788 check verification tokens
Merge pull request #916 from mozilla/issue-823-l18n-on-server

fix(i18n): Ensure i18n works in Chrome.
tests(views): fix privacy heading ID
Merge pull request #922 from mozilla/fix-pp-header-unit-test

tests(views): fix privacy heading id
feature(client): Add a spinner!

Displayed on:
* App startup
* View render
* Form submit

fixes #371