Implement support for flexible metdata mapping. closes #582, #688

* Metadata mapping is implemented via an `NSProxy` object that stands in for the `sourceObject` of each `RKMappingOperation`
* Key paths that are prefixed with `@metadata.` are mapped against the `metadata` dictionary of the operation, else they hit the `sourceObject`.
* Metadata is implemented by merging a dictionary of data in from `RKObjectRequestOperation`, through to `RKResponseMapperOperation`, into `RKMapperOperation`, and all the way down into the `RKMappingOperation`, where it is available to each object. By convention, metdata is namespaced into subdictionaries.
Integrate support for metadata mapping routing data. refs #1174
Fix crash when accessing a named route with no object for interpolation
Fix crash when attempting to map `nil` sourceKeyPath as identification attribute
Fix issue where repeatedly mapping a to-many relationship without identification attributes would cause the first object in the relationship to be inappropriately reused
Fix crash when attempting to union a relationship with a `nil` value. fixes #1195
Change log level for a specific mapping operation failure case
Fix implicit conversion warning in `RKDotNetDateFormatter`. closes #1198
Fix creation of duplicated managed objects when you map a `nil` source key path onto an indentification attribute. fixes #1194
Add missing interpolation value for assertion within search indexing
Fix issue where `NSManagedObject` instances that are invalid due to missing require relationship when finished mapping, but are made valid by connected relationships are deleted prematurely. fixes #1179
Add a warning if you violate the `save` expectations of `NSManagedObjectContext`. fixes #1185