Fix comparison of types in analysis of UNION
Fix TpchColumnHandle.equals() to compare types correctly
Fix comparison of types in AggregationCompiler
Add CLI program to benchmark a Presto cluster
Include both sources in IndexNode sources list

getSources() is meant to return all subplans of a given node as it's
used for various plan-walking activities.
Implement PlanRewriter as a regular visitor

The rewriter interface abstraction is unnecessary.
Replace inner classes with lambdas
Isolate beginCreate/beginInsert plan rewriting logic

It's currently embedded in DistributedLogicalPlanner. This commit
moves it to a separate optimizer in preparation for making the distributed
planner just another optimizer, too.

The current implementation is a big hack that we need to fix eventually.
This logic should be invoked on query start, not during planning. At
that point, the token returned by beginCreate/beginInsert should be
handed down to tasks in a mapping separate from the plan that links
plan nodes to the corresponding token.
Allow configurable number of tablewriters per worker