Update project format from the old XML using Xcode 6.1

Xcode 6.x will modify the format of the project files, so unless we update its format all new pull request will have conflicts.
Change RKObjectMapping's propertyMappings accessor method to simply return the internal array, rather than making a full copy on every access.  Several methods of RKObjectMapping itself call it like a regular accessor (to get the count, for example) and it gets called a tremendous number of times during mapping operations.  This saves a lot of memory during those operations, plus alloc/dealloc/retain/release/autorelease overhead.
Revert two unintended changes in the last commit

This reverts commit 54cbc9e4130382537eea95f78c24f084031adb07.
Speed up RKDictionaryByMergingDictionaryWithDictionary a bit.  Primarily by avoiding an extra copy of the dictionary at the end, but also don't use -enumerate (has a nested autorelease pool), and use NSDictionary methods and not KV.
Minor performance improvement; check first to see if it's a special key at all before the series of hasPrefix calls, since most of the time it will not be a special key.  The CFStringHasPrefix function did show up as a minor hotspot, and this helps a tiny bit.
Change RKObjectMapping propertyMappings property to be immutable, to avoid having accessor be expensive (pay more of a price during setup instead, instead of the hot mapping code).
Whoops, fix things for the "self" key.  And check for empty keys, though those are illegal with KV on regular objects -- could be OK for dictionaries.
Revert change to RKObjectMapping metadata property.  This loses some of the performance gain (as each sub-operation will now make a copy) but it's less prounounced on a device.
Make RKMappingOperation be a straight NSObject subclass instead of NSOperation; we were really only using the cancellation methods from the superclas (and -start).  There is actually a 10% penalty on the entire mapping process just for having NSOperation as a superclass for some reason, at least when using a lot of nested operations.
Add comment as requested in PR comments
Fix a unit test which fails when run with Xcode6 (at least on an iOS8 simulator).  It looks like the internal HTTP NSURLProtocol returns NO from canInitWithRequest: if the URL has invalid characters like this, meaning no NSURLProtocols match it, and we get an NSURLErrorUnsupportedURL instead of NSURLErrorBadURL.  So, accept either error code.   Also changed some local variable types to avoid compiler warning.
Use expect matchers per PR request
Fix compile warning in unit tests after this change.
The code which gets the "representation" object ready for the data source's targetObject method is expensive, and the argument is ignored in a non-CoreData situation.  To speed up other code, add a new data source method which is the same except does not provide the representation, in case the data source can respond without it.  If it cannot, we fall back to the previous behavior.  Even CoreData situations can be helped if there is a non-CoreData mapping involved.
Merge pull request #2072 from carllindberg/FixUnitTestIOS8

Fix a unit test which fails when run with Xcode6 / iOS8
Merge pull request #2058 from rivera-ernesto/update_project_format

Update project format from the old XML using Xcode 6.1 (5.x-compatible)
Add comments per PR request
parentObjectForRelationshipMapping: was being called twice; once to obtain the destinationObject, and once in the subsequent call to mapNestedObject.  Just create once and pass to both methods.  Also, it was being created once per loop in a to-many situation; it only needs to be created once.  Also, speed up parentObjectForRelationshipMapping: a little bit.
Merge pull request #2069 from carllindberg/2065-FasterSourceValueForKey

Speed up RKMappingSourceObject KeyValue
Merge pull request #2066 from carllindberg/2065-ObjectMappingPropAccessor

Change RKObjectMapping's propertyMappings accessor method to simply retu...