Add support for transient records to SC.ManyArray & SC.ManyAttribute

This addition would allow you to add records to a many relationship that have not yet been committed and don't yet have an `id`. This is meant to take care of three problems:

* you can't use `READY_NEW` records in relationships without an `id`
* assigning temporary `id`s to `READY_NEW` records requires that the relationship be manually updated after the records are committed.
* assigning `READY_NEW` records to a relationship, even with a temporary `id`, will dirty the record. If that record was committed immediately, it would have temporary `id`s in its data hash.

How it works is that you must set `supportTransients` to true (i.e. it's voluntary to ensure that the developer fully understands what they're getting into) and then whenever a record is assigned to the relationship without an `id`, it is referenced internally in SC.ManyArray with a temporary `id` and an `id` observer is added to the record so that if it is ever updated, the relationship can be automatically cleaned up. Once all transient records have actual `id`s, then the record will be dirtied (see the unit tests for a better idea of what that means).