refactor(client): FxaClient no longer takes a relier in its constructor.

@ckarlof - This is the FxaClient without the relier passed in to the constructor. The core of this update was pretty easy, updating the tests was not. Since so many fxaClient.signUp calls has to be updated in the unit tests, I replaced most calls to the auth-server with sinon stubs.

* 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.
* Increase the unit test coverage of fxa-client.js and complete_sign_up.js
* FxaClient.signUp no longer calls .signIn, the sign up view takes care of this.

Note, no functional tests were modified with this!

This is not a full fix for the issues listed in #1777, but contains probably the most difficult part.

issue #1777 


Yeah, it's weird. The relier is really only used here to let `signIn` know if it's a desktop/Sync context– the other relier params are not of use because we're coming from Settings, as you noted above. But the current session is not even guaranteed to be the same account that you used for Sync, so even though we're overwriting the `sessionTokenContext` with whatever was in the previous `Session` (which toggles the display of "Sign out") the settings page is already in a confused state.

So I suppose there's no more harm here while #1686 is still a thing.