Check if we need to merge with an existing NSManagedObject a bit sooner
Remove guard clause for a case that doesn't really occur
Unfocus test
Small refactoring of test for legibility
Use constant string instead of NSStringFromSelector() in test
Move respondsToSelector check outside of loop

This way we only need to check once, instead of for each propertyKey.
Document mergeValueForKey:fromManagedObject and mergeValuesForKeysFromManagedObject: