DATAMONGO-1005 - Improve cycle-detection for DbRef's.

Made ObjectPath a more ubiquitous type in the nested method calls to avoid the extracting and rewrapping of the current object. Introduced ObjectPathItem that captures the object, idValue and collection tuple to avoid performing the property lookup multiple times.