title: Normalize ember-data payload in normalizePayload, but "type" is null
body: <p>I'm trying to write code to generically normalize embedded records. I'm trying to do this in the "normalizePayload" method of the serializer, as "extractObject" and "extractArray" don't get called on a store.pushPayload call (I'm pre-loading data using pushPayload).</p>
  
  <p>Here's my code:</p>
  
  <pre><code>App.ApplicationSerializer = DS.ActiveModelSerializer.reopen
      embeddedRelationships: []
  
      extractHasOne: (payload, relationship_name) -&gt;
          object = payload[relationship_name]
          objectId = object['id']
          payload["#{relationship_name}_id"] = objectId
          delete payload[relationship_name]
  
          return object
  
      extractHasMany: (payload, relationship_name) -&gt;
          objects = payload[relationship_name]
          objectIds = objects.mapProperty('id')
          payload["#{Ember.Inflector.inflector.singularize(relationship_name)}_ids"] = objectIds
          delete payload[relationship_name]
  
          return objects
  
      extractRelationships: (payload) -&gt;
          extracted_objects = {}
  
          this.embeddedRelationships.forEach((relationship_name) -&gt;
              relationship_payload = payload[relationship_name]
              if relationship_payload instanceof Object
                  # has one
                  extracted_objects[relationship_name] = this.extractHasOne(relationship_payload, relationship_name)
              else if relationship_payload instanceof Array
                  # has many
                  extracted_objects[relationship_name] = this.extractHasMany(relationship_payload, relationship_name)
          , this)
  
          return extracted_objects
  
      normalizePayload: (type, payload) -&gt;
          if payload[type]?
              # single object
              this.extractRelationships(payload[type])
          else if payload[Ember.Inflector.inflector.pluralize(type)]?
              # many objects
              payload[Ember.Inflector.inflector.pluralize(type)].forEach((object_payload) -&gt;
                  this.extractRelationships(object_payload)
              , this)
  </code></pre>
  
  <p>NOTE: this isn't done yet, as I'm not merging all the extracted objects and sideloading them yet.</p>
  
  <p>In either case, the idea is that in a subclass, I override "embedded relationships" with a list of strings that represent the relationships that must be normalized for that model.</p>
  
  <p>The problem I'm running into is simple: "normalizePayload" is being called with a null "type" value.</p>
  
  <p>I'm pre-loading the data like so:</p>
  
  <pre><code>this.store.pushPayload('category', window.preloadCategories)
  </code></pre>
  
  <p>Is this an ember bug, or am I missing something?</p>