Add monitors to all the existing pipes
Merge pull request #2145 from davidegrohmann/2.1-add-monitors-to-all-pipes

Add monitors to all the existing pipes
Use for comprehensions in IndexLeafPlanner and LabelScanLeafPlanner
Introduce the notion of a scope in semantic state

This way, we can accumulate arbitrary information across a semantic check
(such as type information for all encountered identifiers)
without polluting the scope state.
Add cartesian product to Ronja
Collect all predicates found in WHERE clauses
Apply predicates after cartesian product when relevant