Add temporary workaround for infinite recursion
Radically simplify the implementation of managed object deletion and refetching within `RKManagedObjectRequestOperation`. closes #1163

1. Eliminates use of visitor in favor of aggregating mapping info during mapping. This avoids having to traverse the mapping graph.
1. Eliminate special case handling of cyclic key paths.
1. Eliminate issues with infinite recursion while traversing the mapping graph.
Remove unnecessary exception handling for `NSUndefinedKeyException`
Copy `attributeCaches` to avoid potential for mutation during enumeration
Encapsulate managed object refetching into an NSProxy object to enable you to defer the refetching until the mapping result is accessed (or skip it entirely if the result is not accessed)
Nil out `targetObjectID` if given a `targetObject` that is not an `NSManagedObject`. closes #1161
Add test case for empty 5xx response. refs #1169
Fix failed assertion when constructing an unprocessable response error for 5xx errors. closes #1169