Clarify default cache type per edition
Merge pull request #3098 from cleishm/default_cache

[2.0] Clarify default cache type per edition
Merge remote-tracking branch 'upstream/2.0-maint' into 2.1-maint
Merge remote-tracking branch 'upstream/2.1-maint'

Conflicts:
	community/kernel/src/docs/ops/cache.asciidoc
Move PeriodCommitHint AST node out of Clauses

And rename Hint to UsingHint
For annotation, use ASTNode+Position over objId
Use SemanticState to track expandStar rewrites
Split ClosingClause

Into HorizonClause for scoping, and ProjectionClause for projection
Make expandStar match on clauses

Rather than on the ReturnItems
Introduce _PRAGMA WITH NONE

Used when all projections have been inlined
Introduce _PRAGMA WITHOUT

Used to remove identifiers from scope
Use _PRAGMA WITHOUT to remove introduced identifiers
Allow additional items on `WITH *` and `RETURN *`

e.g. `WITH *, 1 AS m`

Also use this in pre-semantic-check rewriting, to ensure
`ORDER BY` clauses on `WITH *` and `RETURN *` are correctly normalized,
removing the need to do this again during `projectFreshSortExpressions`.
Merge pull request #3115 from cleishm/semantic_playground

Allow additional items on `WITH *` and `RETURN *`
Introduce an Exists predicate to be used in the absence of meaningful predicates on a node
Make predicate combination easy to change, and change it to assume dependence