More controlled flushing of pending changes as part of closing batching neo store
Merge pull request #2785 from tinwelint/2.1-fix-pbi-flush

More controlled flushing of pending changes as part of closing batching neo store
Batch importer actually flushes the current window when told to

this to support proper shutdown of the neostore, where pending changes are
flushed and writes awaited so that the store can be closed properly.
Fixes relationship augmentation when node has self-relationships
Merge pull request #2787 from tinwelint/2.1-flush-bip-windowpool

Batch importer actually flushes the current window when told to
Merge pull request #2784 from jexp/rel-augmentation-loop

Fixes relationship augmentation when node has self-relationships
Test cleanup
Merge pull request #2791 from davidegrohmann/2.1-test-cleanup

Test cleanup
Test cache invalidation issue for dense nodes.

The issue that causes invalid cache invalidation on rollback is
extra likely to occur for dense nodes, so a particular test case
for that scenario is desirable.
Clean up tests
Cypher: Finds more cases where Eagerness can be avoided
Cypher: Solves eagerness problems when using FOREACH
Less eagerness for MERGE
Merge pull request #2801 from systay/create-unique-eagerness

Less eagerness for Cypher - FOREACH, CREATE UNIQUE and MERGE
Changed reattachAliasedExpressions to inline all projections into order by
Solves problem with named paths not making it through WITH
SemanticState keeps track of identifier usages, to keep track of scopes
Added dedup rewriter
Move deduper to Planner (but disable for now) and remove unnecessary use of Identifiers in hints
Make reattachAliasedExpressions only inline non-shadowing projections

o Introduce mapping from input position to scope in SemanticState
o Expose this mapping as SemanticTable.scopes
o For now, this is only filled by CloseClauses.semanticCheck (RETURN, WITH)