Fix a crash when a collection of heterogeneous managed objects is mapped

If there are multiple key path components and mappingResultsAtRootKey is a collection
of heterogeneous objects (that is, they have different properties), calling

[mappingResultsAtRootKey valueForKeyPath:myKeyPath]

will crash because not all objects in the collection are KVC compliant for myKeyPath.

Therefore, we enumerate all objects in mappingResultsAtRootKey, and *if the object is
KVC-compliant for the requested key path* we add it to the sourceObject collection.
Otherwise we ignore it by swallowing the exception.
Merge pull request #1 from sadlerjw/fix-refetching-heterogeneous-collection

Fix a crash when a collection of heterogeneous managed objects is mapped