DATAMONGO-954 - Add support for system variables in aggregation operations.

Add assumes for appropriate MongoDB version.
DATAMONGO-962 - Should not identify false positive (Think of better name…)

Prepare issue branch.
DATAMONGO-962 - Cycle guard should respect full path.

We now check on intersections of given path and existing to not only check types and contained property names but also properties full path which must not be present in already traversed paths.

Additionally we’ll now catch any CyclicPropertyReferenceExceptions on the root level to prevent cycle detection interfering with application startup.
DATAMONGO-962 - Cycle guard should respect full path.

Removed obsolete pattern matching on path.
Added a litte javadoc to expain the intention behind all this.
DATAMONGO-962 - Cycle guard should respect full path.

Added tests to verify Path behaves correctly.