Add failing test for hasMany relationships

If adapter does not return any data for a hasMany relationship,
the unsaved hasMany records disappear from the relationship.
Fixes #1466
Always keep the hasMany around when payload arrives

We should always keep the current hasMany value if the payload
has no relationships with that key
[FIX] typeof null actually === 'object'

Fixed an issue where calling `isValue` with null would throw a
`TypeError` (Cannot read property then of null)
Docs use model on controller instead of route

Changed the documentation so that the model property referenced is on
the controller of the route rather than the route itself. Since the
route already has a method called model, referencing the model property
as an Ember-Data model can be confusing.
[Bugfix] embedded records mixin: key variable needed to be declared
Migrate s3 publishing to ember publisher
Merge pull request #2071 from rondale-sc/migrate_s3_publishing_to_ember_publisher

Migrate s3 publishing to ember publisher
[Fix] Add extension to publish-build ( publish_to_s3 ->
publish_to_s3.js )
Merge pull request #2072 from rondale-sc/bugfix-add-extension-to-publish-build

[Fix] Add extension to publish-build npm script
 Bump to fixed ember publisher version
Merge pull request #2073 from rondale-sc/bump-ember-publisher-version

 Bump to fixed ember publisher version
Merge pull request #2046 from gbabiars/update-model-docs

Docs use model on controller instead of route
Merge pull request #1975 from emberjs/1467Fix

Ensure hasMany records are kept when adapter returns no relationship data
typo

then => than
Merge pull request #2079 from kalmanh/patch-1

[DOC] minor typo
Favour declared mapping over keyForAttribute, if defined;

keyForAttribute, if defined, is useful for defining custom changes for all keys on a particular serializer, be it for the application or just a particular resource. The custom attr-based mapping should be maintained, and should precedence, over the keyForAttribute.

Broke down the ternary operators for increased readability.

Adds integration test for mapping > `keyForAttribute` precedence
Allow `attr` mapping in `belongsTo` & `hasMany` attributes;

Related attributes should still be able to have mappings defined for them. The normalizing compliment to these mappings, `JSONSerializer#normalizeUsingDeclaredMapping`, are applied to all attributes including `belongsTo` and `hasMany`.

Adds integration test for mapping > `keyForRelationship` precedence;
Fixes embedded hasMany primary key lookup.
Merge pull request #2080 from alexBaizeau/bug/embeddedHasManyKey

[BUGFIX] Fixes embedded hasMany primary key lookup.