[BUGFIX] fixture adapter copies defined fixtures

Otherwise, they will get mutated by Ember Data
in various serialize hooks.

fixes GH-1454
Add support for embedded polymorphic hasMany
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 separating 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 fixes #2100 fixes #1790 fixes #1532 fixes #1389
Merge pull request #2208 from emberjs/sync_ssot

Sync ssot
Update recordArrays whenever there are changes to relationships

Previously we weren't correctly refreshing record arrays when there
were relationship changes. This was causing `store.filter` not to
update correctly whenever there were relationship changes

fixes #2222
Merge pull request #2240 from emberjs/filterRelationships

Update recordArrays whenever there are changes to relationships
Added ember-addon support via npm
Merge pull request #2238 from jayphelps/ember-addon

Added ember-addon support via npm
Merge pull request #2217 from emberjs/1454-fixture-adapter-deep-copy

[BUGFIX] fixture adapter copies defined fixtures
Merge pull request #2152 from hooktstudios/embeddedHasManyPolymorphic

Add support for embedded polymorphic hasMany
Add ajaxSuccess hook to the RESTAdapter

Previously there was no easy way to extract data from response headers
or to reject promises after a 200OK response.
temp
tests and typo fix for ajaxSuccess/ajaxError
Merge pull request #1968 from emberjs/ajaxSuccess

Add ajaxSuccess hook to the RESTAdapter
ember add-on vendor tree is relative to this file, so needs to go back a dir
Merge pull request #2248 from jayphelps/patch-1

ember add-on vendor tree is relative to this file, so needs to go back a dir
Add-on uses blueprint `addBowerPackageToProject()` hook to add ed as bower dep instead of including a pre-built version
Merge pull request #2249 from jayphelps/patch-2

Ember Add-on now depends on bower instead of using pre-built dist
Do not clear own relationships when deleting records

If a record had a relationship, such as a `comment` having a `post`, previously
if you did `comment.deleteRecord()`, `comment.get('post')` would immediately be set
to `null`.

This behavior was wrong for several reasons:
  1.It prevented future rollback support for relationships
  2.If you had nested URLs, you would not be able to send a DELETE request to /post/1/comments/1
    because comment.get('post') would already have been deleted

We now only clear the inverse side of the relationships when the record is deleted.
The resulting refactor also enables us to add support for a record in a `404` state to be removed
from relationships and for removing records from manyArrays that do not have inverses.
add es5-shim/sham requirement to README

also add es5-shim to bower_components for test
and use IE conditional comments to load them.