Allows transient (i.e. no id) records to be added to an SC.ManyArray by using a temporary placeholder key and avoiding dirtying the owning record until after the related record is saved and has an id assigned.
Fixes an exception when removing an added transient item before it has a valid id.
Fixes a problem where the storeId would get updated even though the record doesn’t have an id yet.
Makes the transient record support voluntary and adds unit tests.
Fixes a typo that prevented the record from being properly dirtied on changes.
Improves jsdocs.
Changes the API property to supportNewRecords (hopefully clearer), makes it true by default (hopefully easier to use) and adds more documentation around it.
Fixes up the unit tests.