Add support for polymorphic embedded records to the EmbeddedRecordsMixin

The type of the embedded record is inferred using the `type` property of each embedded record. This behavior is customizable by overriding the `keyForEmbedded(relationship, data)` method on the serializer.

Example JSON server response:

```javascript
{
  mediocre_villains: [{
    id: "1",
    name: "Gru",
    evil_minions: [ {
      id: "1",
      name: "Kevin",
      type: "evil_minion"
    },
    {
      id: "1",
      name: "Stuart",
      type: "yellow_minion"
    }]
  }]
}
```