emberjs/data — pull request #485 by pivotal-medici (2012-11-21 21:14:01+00:00)
Title: Fix relationship change when restoring old value

This addresses two issues:

* Restoring the child to the original value

This is necessary when the restoration is triggered by a change on
the parent.

* Removing the dirty factor from `lastParent` (the penultimate parent)

Aside from actually removing the dirty factor in the `destroy()`, this
also requires suspending `lastParent`'s association observers when
removing the child from it.

If that didn't happen, `lastParent`'s `arrayContentWillChange()` would
set `newParent` to null and trigger another sync of the relationship
change, which would then cause `lastParent` to get set to null before
the change's `destroy()` can be called.