fix(signin): cache credentials for desktop sign-ins, otherwise only cach...

...e email

fixes #1621

@ckarlof r?
**UPDATE:** The answer is "beats me, i dont know".

Some grepping around reveals we have ~38 matches for exact `'sync'` string, as well as these two mysterious helpers:

1. ./app/scripts/views/marketing_snippet.js:52:      `var isSync = this._service === 'sync';`
2. ./app/scripts/views/mixins/service-mixin.js:31:  `var SYNC_SERVICE = 'sync';`

---

```sh
$ grep -rnI "'sync'" . | grep -v "/\(node_modules\|app/bower_components\|.tmp\)/"

./app/scripts/lib/session.js:150:      return !! ( this.get('client_id') || (this.get('service') && this.service !== 'sync'));
./app/scripts/views/marketing_snippet.js:52:      var isSync = this._service === 'sync';
./app/scripts/views/mixins/service-mixin.js:31:  var SYNC_SERVICE = 'sync';
./app/tests/spec/lib/fxa-client.js:61:        Session.set('service', 'sync');
./app/tests/spec/lib/fxa-client.js:71:              service: 'sync',
./app/tests/spec/lib/fxa-client.js:109:        Session.set('service', 'sync');
./app/tests/spec/lib/fxa-client.js:118:              service: 'sync',
./app/tests/spec/lib/fxa-client.js:317:            Session.set('service', 'sync');
./app/tests/spec/lib/fxa-client.js:323:              service: 'sync',
./app/tests/spec/lib/fxa-client.js:335:              service: 'sync',
./app/tests/spec/lib/service-name.js:26:      assert.equal(serviceName.get('sync'), 'Firefox Sync');
./app/tests/spec/views/confirm.js:171:        Session.set('service', 'sync');
./app/tests/spec/views/confirm.js:178:              client_id: 'sync'
./app/tests/spec/views/confirm_reset_password.js:83:        Session.set('service', 'sync');
./app/tests/spec/views/confirm_reset_password.js:84:        Session.set('oauth', { client_id: 'sync' });
./app/tests/spec/views/confirm_reset_password.js:133:        Session.set('service', 'sync');
./app/tests/spec/views/confirm_reset_password.js:134:        Session.set('oauth', { client_id: 'sync' });
./app/tests/spec/views/marketing_snippet.js:45:          service: 'sync',
./app/tests/spec/views/marketing_snippet.js:74:          service: 'sync',
./app/tests/spec/views/marketing_snippet.js:88:          service: 'sync',
./app/tests/spec/views/marketing_snippet.js:114:          service: 'sync',
./app/tests/spec/views/marketing_snippet.js:134:          service: 'sync',
./app/tests/spec/views/mixins/service-mixin.js:68:          Session.set('service', 'sync');
./app/tests/spec/views/mixins/service-mixin.js:320:        Session.set('service', 'sync');
./app/tests/spec/views/ready.js:61:        Session.set('service', 'sync');
./app/tests/spec/views/ready.js:74:            service: 'sync'
./app/tests/spec/views/ready.js:89:        //Session.set('service', 'sync');
./app/tests/spec/views/ready.js:103:        //Session.set('service', 'sync');
./app/tests/spec/views/ready.js:107:          //client_id: 'sync'
./app/tests/spec/views/ready.js:135:        Session.set('service', 'sync');
./app/tests/spec/views/sign_in.js:76:        Session.set('service', 'sync');
./app/tests/spec/views/sign_in.js:77:        var syncName = new ServiceName(translator).get('sync');
./app/tests/spec/views/sign_in.js:384:        Session.set('service', 'sync');
./app/tests/spec/views/sign_up.js:107:        Session.set('service', 'sync');
./app/tests/spec/views/sign_up.js:117:        Session.set('service', 'sync');
./app/tests/spec/views/sign_up.js:118:        var syncName = new ServiceName(translator).get('sync');
./tests/server/metrics-collector-stderr.js:59:      assert.equal(loggedMetrics.service, 'sync');
./tests/server/metrics-collector-stderr.js:88:      service: 'sync',
```