Refactor out sort, skip and limit
Add aggregation to planning
Merge pull request #2399 from systay/ronja-aggregation

Ronja aggregation
Changed hash distribution algo for primitive collections.
Merge pull request #2402 from jakewins/2.1-primitive-hash

Changed hash distribution algo for primitive collections.
Fuse two copies of LeafPlanningIT and move them to the right place (planner.logical)
Add basic support for WITH to Ronja

o Support for handling some forms of WITH in SimplePlannerQueryBuilder
o Support for planning tails in QueryPlanningStrategy
o Add QueryPlanProducers for sort, skip, limit, projection
o Add/Update QueryPlanProducers: planApplyTail, planArgumentRow, planQueryArgumentRow, planSingleRow
o Make above query plan producers update the tail if the query graph has a tail
o Make projection + sortSkipAndLimit use QueryPlanProducers
o Visitor support for PlannerQuery
o SingleRow now keeps type info for building the correct SymbolTable in NullPipe. This should go away later.