Create ``setData`` to set records data.

``DS.Model#setupData`` does the partial checking and then merge/overwriting of a records data. I would like a separate model function to exist to handle this responsibility. This function can be overloaded as the last place to check data before it hits the model. I think there are a few use cases for this, the one I need is something to allow for always merging data and never overwriting.

My initial reaction was to add this to the serializer, but that seems messy because it would result in changing how data is pushed into the store. It would also be hard to do on a per model basis, since serializers that sideload models just push that data to the store with no way of accounting for the _partial flag, and why should they?