serializerFor should only override typeKey if it doesn't already exist

I have multiple ways of serializing data because of a legacy API server:

```js
Address = Ep.Model.extend({
  street: Ep.attr('string'),
  city: Ep.attr('string'),
  state: Ep.attr('string')
});

// Legacy API server ships JSON like:
{ matched_addresses: [ {uglyStreet: '...', oldCity: '...', funkyState: '...'} ] };

// Shiny new API server ships what you'd expect:
{ addresses: [ {street: '...', city: '...', state: '...'} ] };
```

I'd like both `matched_addresses` and `addresses` to deserialize to an `Address` instance. To do this, I could create a custom serializer:

```js
MatchedAddressSerializer = Ep.ModelSerializer.extend({
  // Without my PR, this gets overwritten in `serializerFor`
  typeKey: 'address',

  deserialize: function(json) {
    return this._super({
      street: json.uglyStreet,
      city: json.oldCity,
      state: json.funkyState
    });
  }
});
```

Right now, this isn't possible because `serializerFor` overwrites `typeKey`. I just added a check.