feat(test): Add more functional tests sign up/reset password flows.

Add functional tests for OAuth, Sync and WebChannel for each of:

* sign up, verify same browser
* sign up, verify different browser, as viewed from both browsers
* reset password, verify same browser
* reset password, verify different browser, as viewed from both browsers

To fully test the Sync flow, responses to FirefoxAccountsCommand events are synthesized.

issue #1755
tests(functional): disable sync ui tests
Merge pull request #1770 from vladikoff/disableFuncSyncTest

tests(functional): disable sync ui tests
Merge pull request #1756 from mozilla/issue-1755-more-functional-tests

feat(test): Add more functional tests sign up/reset password flows.
fix(tests): remove about:prefs tests from full testing
refactor(client): FxaClient fetches the preVerifyToken from the relier instead of from the view.

fixes #1647
Merge pull request #1772 from mozilla/issue-1647-preverify-token

refactor(client): FxaClient fetches the preVerifyToken from the relier instead of from the view.
refactor(client): FxaClient no longer takes a relier in its constructor.

* Instead of creating the FxaClient with a relier in its constructor, pass a relier instance to the functions that need it.
* Since we had to update any unit test that used fxaClient.signUp to pass in a relier, it was easy to update the tests to no longer touch the server.
* FxaClient.signUp no longer calls .signIn, the view takes care of this.

fixes #1777
Merge pull request #1778 from mozilla/issue-1777-fxa-client-sans-relier

refactor(client): FxaClient no longer takes a relier in its constructor.

Everyone is giving it the thumbs up, I'm merging it.
feat(metrics): Add metrics for signup, preverified signup, signin, hide the resend button.

Add:
* signin.success- for a user who signs in successfully.
* signup.preverified - for users who attempt to sign up with a preVerifyToken
* signup.preverified.success- users who successfully sign up with a preVerifyToken
* signup.success - users who successfully initiate a signup.
* oauth.signin.success- for an OAuth user who signs in successfully.
* oauth.signup.preverified - for an OAuth user who attempts to sign up with a preVerifyToken
* oauth.signup.preverified.success- for OAuth users who successfully sign up with a preVerifyToken
* oauth.signup.success - for OAuth users who successfully initiate a signup.
* confirm_reset_password.resend - users who attempt to resend the password reset email.
* confirm_reset_password.too_many_attempts - when we hide the "Resend" button for password reset users who have tried too many attempts.

Also:
* Hook up the debounce code to the password reset.
* Add a base.js->logScreenEvent that logs an event using the screen name as the prefix.
* Change `/` in screen names to `.`
** `screen:legal/tos` => `screen:legal.tos`
** `screen:legal/pp` => `screen:legal.pp`
** `screen:oauth/signup` => `screen:oauth.signup`
** `screen:oauth/signin` => `screen:oauth.signin`

issue #1559
fixes #1147