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
I have been using 4 spaces on the front end when doing a `return some.long.promise.chain` if the line wrapped. I'll update these to use 2. We should be consistent. I don't mind using 2 on the frontend too, that's for a separate PR.