fix(signin): choosing to use a different account clears cached credentials

Fixes #1721.
Merge pull request #1767 from mozilla/issue-1721-choose-different-sign-in-2

fix(signin): choosing to use a different account clears cached credentials

I really dig the simplicity of this solution. r+

Thanks @zaach!
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 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.

issue #1777
refactor(client): FxaClient.signUp no longer calls .signIn, the view takes care of this.

issue #1777
Relier is a required parameter to any fxa-client functions that need it.
feat(client): Add some brokers!

* Start to add brokers that know how to startup/complete flows.
* 3 brokers to start, fx-desktop, redirect, web-channel.
* Get rid of the Channels high level abstraction, these are used directly by the brokers if needed.
* Move some code from service-mixin and various channels to brokers.
* Update tests to make use of the brokers.
refactor(client): No longer save forceEmail to Session, get it from the relier.
Remove the "signIn" from "completeResetPassword" in the FxaClient, this is now done in the views.
No longer call `signIn` from `changePassword`, let this be handled by the views. This allows the signature of `changePassword` to be much smaller.