refactor(client): Add a timer-mixin that takes care of setTimeout housekeeping.
Convert modules to use timer-mixin.setTimeout
Move timer-mixin into views/mixins subdirectory.
Cleanup based on @zaach's suggestions.

* Save `this._workingTimout` when setting the working timeout!
* Wrap setTimeout tests in a `TestHelpers.wrapAssertion` to ensure tests complete even if they fail.
fix(client): Check the user's old password before attempting a change password.

* Add 'checkPassword' to fxa-client.js
* Check the user's pasword before checking whether the passwords are the same.

fixes #1118
Change `assert.ok(false,` to `assert.fail`. Thanks @zaach!
feature(client): Repopulate form fields after visiting the TOS/PP agreements.

fixes #1226
Replace `_savePrefillInfo` with the already built in `beforeDestroy`.

* No need to hook up _savePrefillInfo on every click handler!
Call `enableSubmitIfValid` from form.js->afterRender so subclasses do not have to do this themselves.

* Fixes a problem on signup where the "next" button is not enabled if all three fields filled out, the user clicks TOS, then "back."
Merge pull request #1278 from mozilla/issue-1226-remember-info-tos

feature(client): Repopulate form fields after visiting the TOS/PP agreements.
Merge pull request #1286 from mozilla/issue-1010-setTimeout

automate setTimeout housekeeping
Merge pull request #1290 from mozilla/issue-1118-change-password-errors

fix(client): Check the user's old password before attempting a change password.
test(oauth): fix validation error in oauth tests when prefilled email is not cleared
Merge pull request #1296 from mozilla/fix-oauth-functional-prefill

test(oauth): fix validation error in oauth tests when prefilled email is...
fix(desktop): keep desktop context after password change

Fixes #812