Use addObject when updating record arrays

Currently using pushObject which means creating an object, adding it to the array, then saving the object results in the object being in the array twice.
Add test for RecordArray change to addObject.

Creating a new model, inserting into an existing RecordArray and calling save should not duplicate the model in the RecordArray.
Sets isNew before isLoaded. An observer of isLoaded should have the correct isNew value.
add test for saving has many relationship
Assert type not null in relationships. Fix #117
Merge pull request #308 from ckung/relationship-assert-notnull

Assert type not null in relationships. Fix #117
add support for setting a defaultValue
Fixes an issue with revert that was causing new records to be maintained in hasMany.
Merge pull request #312 from jnovatnack/revert-has-many-array

Fixes an issue with revert that was causing new records to be maintained in hasMany
hasMany attributes can now be set(). Fixes #310
Reverting a record with an embedded hasMany now updates isDirty.
Merge pull request #313 from jnovatnack/set-has-many-content-directly

hasMany attribute can be set directly. Fixed an isDirty bug when reverting a record with hasMany.
Fix dirty tracking for embedded belongsTo relationships
Fix embedded belongsTo when loading undefined value
Merge pull request #282 from zipfworks/default-value

add support for setting a defaultValue
Merge pull request #321 from dwickern/master

Fix dirty tracking for embedded belongsTo relationships
Merge pull request #306 from joyshieh/is-new-before-is-loaded

Sets isNew before isLoaded.
Add failing test for dirty tracking hasMany array content.
Update Ember dependency and fix errors that were being swallowed by promises
Ugh, why does jQuery keep moving?!