Makes it possible to custom define inverses on only one side

This also adds a cache to inverseFor
Do not reuse argument values when calculating inverses
Refactor inverseFor cache
Merge pull request #2293 from eniolopes/improve-inverse-for

Adds caching to inverseFor and implements look for inverses on the other side
Update recordArrays when record has reloaded
Fix jshint
Update tests on filters returning reloaded objects
Fix typo (was silent in simple case)
Unwrap promises when setting a belongsTo
Merge pull request #2288 from emberjs/promiseUnwrap

Unwrap promises when setting a belongsTo
Add support for rollback of relationships from deleted state

Building upon #2208 and #2260 this commit enables reconnecting relationships
so we can rollback the relationship state from a deleted record

fixes #2036 fixes #1824 fixes #2010 fixes #1922
Implemented rollbacking of implicit relationships
Merge pull request #2308 from thaume/fixIsReloadingOnFilters

Update recordArrays when record has reloaded
Remove es3 rule in .jshintrc
Merge pull request #2319 from cibernox/remove_es3_jshint_rule

Remove es3 rule in .jshintrc
Make JSLint happy