Merge pull request #2216 from emberjs/2201-data-assertion-message

improve error message for push
Fixed typo

Fixed a typo in rest_serializer#serializeIntoHash
Merge pull request #2220 from nmax/master

Fixed typo
typo in embedded_records_mixin docs
Merge pull request #2225 from James1x0/master

typo in embedded_records_mixin docs
Refactor relationship handling code

This commit refactors relationship handling code. It adds full
support for loading relationships described on only one side in the
api. It sets up the infrastructure for separting server vs local
updates to relationships. In a future PR, we will use that infrastructure
to add support for rollback, relationship dirtying and relationship merging.

Lots of old, crappy code, removed, -550 lines before new tests.
Pushing records into the store is now 15-20% faster.
Relationships now properly refetch if the links value is updated.
We no longer churn records that are not changed in a hasMany push.

Fixes #1919 Fixes #1814 Fixes #2057 Fixes #2191 Fixes #2177
Fixes #2125 #2100  #1790 #1532 #1389