Change existing metrics to be plain functions for easier composition
Renaming leaves test package to plans and killing use of DummyPosition in that package
Introduce separate selectivity estimator metric
Introduce MetricsFactory to better control how metrics are constructed

This serves to factor out caching and test support facilities from metrics construction
Fix SimpleCostModel such that Selection cost considers its own selectivity
Add CartesianProductPlanningIT test to check cartesian products are picked based on selectivity
Rename methods in OverridableMetricsFactory for clarification
Merge pull request #2192 from boggle/ronja-selectivity-metric

Introduce selectivity metric and refactor metric handling in Ronja
Move aggregation preparation to a rewriter

Moves the isolating of aggregations into
one of the new rewriters working directly
on the AST.
Cleaned up imports