DATAMONGO-962 - Cycle guard should respect full path.

We now check on intersections of given path and existing one to not only check types and contained property names but also the properties full path which must not be present in already traversed ones.

Additionally we now catch any `CyclicPropertyReferenceException` on the root level to prevent cycle detection interfering with application startup.