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.
Fix re-dirtying non-embedded hasMany after save

Save did not update the original content of the array to
reflect the new original state
Merge pull request #299 from Connorhd/patch-1

Use addObject when updating record arrays
Merge pull request #349 from dwickern/dirty-hasmany

Fix re-dirtying non-embedded hasMany after save
On unload, remove record from has many arrays.
Don't try to clean null belongsTo attributes.
Fixed a bug preventing finding record with id of 0 (#352)
Merge pull request #353 from existentialism/find-zero-id

Fixed a bug preventing finding record with id of 0 (#352)
Merge pull request #350 from karenliu1/null-belongs-to

Don't try to clean null belongsTo attributes.
Merge pull request #339 from karenliu1/remove-has-many-record

Tests for deleting/unloading records in hasmany relationships.
RESTAdapter supports loadSaveResponse flag that causes the record to be
loaded from the response the server returns on a save().
RESTAdapter loads response, if it contains data, on save
Merge pull request #340 from jnovatnack/jnova/load-save-response-flag

RESTAdapter supports loadSaveResponse flag that causes the record to be loaded from the response the server returns on a save().