Tiny details added to new pipes so tests pass
Rewrite HintVerifier as a semantic check
Make sure to output gist build problems
Refactoring of ExecutionPlanBuilder

* Introduced the PipeBuilder trait, so EPB does not have to know about their internals
* Introduced a PipeBuilder that knows to switch between new and old PipeBuilding
Merge pull request #2118 from systay/epb-refactoring

Refactoring of ExecutionPlanBuilder
Allow the file URL in LOAD CSV to be provided as a parameter
Merge pull request #2119 from jakub-/load-csv-url-parameter

Allow the file URL in LOAD CSV to be provided as a parameter
Rewrite ReattachAliasedExpression as a rewriter for the new AST
Refactored SimpleLogicalPlanner

* Extracted implicit class methods into their own classes
Parser: Add param support to the LOAD CSV clause
Use ArrayStack for tracking accumulation in tailrec folding
Make Rewriter a type alias, rather than a trait
Use object functions for rewriter combinators

And remove unused rewriter combinators
Add inSequence for applying multiple rewriters

topDown and bottomUp now need only handle a single rewriter
Use consistent dup(children) method in rewriting
Use foldt for parameter finding
Minor refactorings of Foldable

* Changed an implicit class to a private method
* Renamed foldt to treeFold
Adds the inner loop of the planning

* Introduces the PlanTable
* Introduces the CandidateList
* Added the plan building loop inside SimpleLogicalPlanner
Makes sure the csv files for the manual are always copied.
Refactor leaf planners not to use folding of the leaf plan table

Instead, each leaf planner will produce a candidate list. Afterwards
all candidate lists will be merged into a single one, sorted and pruned.