Modify code indent
Use `Ember.EnumerableUtils.forEach`
Use `Ember.EnumerableUtils.indexOf`
Use `Ember.EnumerableUtils.map`
fix testing description
Fix to ignore internal property for older IE

The for ~ in loop iterates internal property that defined by
`Ember.create`.
`Ember.keys` should be used to prevent this behavior for iterator.
support rollback of clean records
state fixes
WIP
Sync relationship on hashes when commit.

This fixes rollback problems with relationships.
added manyToNone test and made it work
temp
Do not dirty records which are part of a relationship change if the inverse is not set

Previously we relied on the fact that in a ManyToNone and OneToNone relationship
only one record would be set in a relationship change object. That was recently changed
to support the syncHashes method. Now we need to explicitly check to see whether the
inverse was set before notifying the property change.