Add a heuristic to determine if we can skip merging a `NSManagedObjectContextDidSaveNotification` to avoid merging changes that are already available. refs #1351
Introduce additional experimental performance optimization. refs #1232

* Add `RKMappingOperatationDelegate` method to enable the data source to instruct the operation to skip performing value comparisons when assigning properties
* Add `RKMappingOperatationDelegate` method to enable the data source to instruct the operation to skip property mapping all together
* Add `modificationKey` attribute to enable the property assignment to be skipped when mapping entities that have not changed
Replace `NSRecursiveLock` with dispatch queue in `RKEntityByAttributeCache`. refs #1232
Sending a nil propertyClass to classForPropertyName results in putting a nil object in a inspectionCache causing an app to terminate.
Fix link to tutorial

The tutorial seems to have been moved from the wiki.
Rework caches and connections to improve performance. refs #1232

* Eliminate redundant use observers across `RKEntityByAttributeCache` instances. Instead, `RKInMemoryManagedObjectCache` does all observing.
* Adjust caches to work primarilly off of `NSSet` of managed objects instead of single instances
* Rework caches to perform asynchronous cache management activities instead of blocking. Add `completion` blocks for callbacks on async activities.
* Switch `RKInMemoryManagedObjectCache` to use its own private context instead of the persistent store context to avoid potential deadlocks during async cache management
* Rework `RKRelationshipConnectionOperation` to handle an array of `RKConnectionDescription` objects instead of a single one. This reduces the amount of operations minted in proportion to the number of connections used.
Improve search indexing performance by batching objects into a single `NSOperation` instead of minting one per managed object to be indexed. refs #1232
Fix performance degradation related to iteration based key eviction
Fix intermittent crash do to use of `isNew` from outside the managed object context queue
Merge pull request #1372 from fernandotcl/patch-1

Fix link to tutorial
Improve docs for tombstone deletion. closes #1379
Merge remote-tracking branch 'origin/bugfix/1351-ghost-objects-in-merge-notifications' into feature/1232-improve-performance
Set a maximum operation count of 50 within the importer so that very large import operations do not die due to resource exhaustion
Apply a few small optimizations to the fetch request cache

* Optimize single identification attribute computation
* Replace `NSCache` with dispatch queue guarded dictionary
Merge branch 'feature/1232-improve-performance' into development
Do not attempt to do a value comparison for the `modificationKey` if the mapped value is `nil` after transformation
Improve object request operation info logging to include break out of times (request, mapping, total). closes #1380
Fix accuracy issues in new logging messages
Guard against inserting `nil` into `userInfo` dictionary
Handle mapping did finish being null in logging reporter