Prettier exception when backup target is different store
Merge pull request #3002 from lutovich/2.1-prettier-exception-in-backup

Prettier exception when backup target is different store
Remove artifacts from merge
Make CommandApplierFacade more generic.
Get exact count of number of nodes in the graph.
Get exact count of number of nodes with given label.
Get exact count of number of relationships in the graph.
Get exact count of number of relationships with given type.
Remove unused statistics service.
IdMapping interface for BatchImporter that makes sense

derived from actual use case. Although there's only one implementation,
which is to use the actual node ids provided directly from the input
entities.

Basically the changes consist of:

 * having InputEntity#id(), InputRelationship#startNode()/endNode() return Object
 * IdMapper has something closer to an index interface with put and get
 * IdMapping is provided to BatchImporter#doImport and couple an IdMapper
   and IdGenerator (batch import version of an id generator)
 * NodeStage uses IdMapper#put in conjunction with IdGenerator#generate and
   IdMapper#sort in the end
 * RelationshipStage calls IdMapper#get
Merge pull request #3063 from tinwelint/2.1-proper-id-mapper-interface

IdMapping interface for BatchImporter that makes sense
Add a test to confirm nameMatchPatternElements behaviour for parameters
Merge remote-tracking branch 'upstream/2.1-maint' into 2.2-merge-2.1

Conflicts:
	community/consistency-check/src/test/java/org/neo4j/unsafe/impl/batchimport/ParallelBatchImporterTest.java
	community/cypher/cypher/src/test/scala/org/neo4j/cypher/internal/compiler/v2_2/SyntaxExceptionTest.scala
	community/kernel/src/main/java/org/neo4j/kernel/impl/storemigration/LogFiles.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/storemigration/StoreMigrator.java
	community/kernel/src/main/java/org/neo4j/unsafe/impl/batchimport/ParallelBatchImporter.java
	community/kernel/src/main/java/org/neo4j/unsafe/impl/batchimport/RelationshipEncoderStep.java
	enterprise/backup/src/main/java/org/neo4j/backup/BackupImpl.java
	enterprise/backup/src/main/java/org/neo4j/backup/BackupService.java
	enterprise/backup/src/test/java/org/neo4j/backup/BackupServiceIT.java
Add support for aggressive filtering for var-length expansion
Merge pull request #3068 from tinwelint/2.2-merge-2.1

2.2 <-[:merge]- 2.1
Merge pull request #3027 from thobe/2.2-counts-store

Initial work on the new statistics service for 2.2
Merge pull request #3060 from jakub-/var-length-expand-eager-filter

Var length expand eager filter
Initial identifer namespacing work
Make namespaceIdentifiers less invasive

The rewriter will only introduce special names for identifiers if
there's shadowing involved. Specifically, if an identifier is never
projected through from one scope to another, it will not be altered.
In addition, trivial projections such as `WITH n AS n` are also
understood not to introduce ambiguity to identifiers.
Simplify inliningContext given our new contracts for shadowing

This also allows for more aggresive inlining. See StatementConvertersTest
for examples of AST -> PlannerQuery conversions that are now more inlining
happy.