Add projectFreshSortExpressions rewriter
Further dismantle inlineProjections

It no longer produces WITH * clauses, the reason being that they
were making it harder for the planner to reason about arguments
that need to be fed into a tail planner query.

Instead, the planner query builder will squash two planner queries
together if the intermediate projection is a simple identifier
to identifier mapping.
Merge pull request #2955 from jakub-/fresh-name-rewriters

Fresh name rewriters