Merge branch '2.1-maint' into 2.2-merge-2.1

Conflicts:
	community/consistency-check/src/test/java/org/neo4j/consistency/checking/GraphStoreFixture.java
	community/cypher/cypher/src/test/scala/org/neo4j/cypher/MatchAcceptanceTest.scala
	community/kernel/src/main/java/org/neo4j/graphdb/factory/GraphDatabaseFactory.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/core/TokenHolder.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/storemigration/StoreMigrator.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/storemigration/StoreMigrator19.java
	community/kernel/src/main/java/org/neo4j/unsafe/impl/batchimport/ParallelBatchImporter.java
	community/kernel/src/test/java/org/neo4j/unsafe/impl/batchimport/ParallelBatchImporterTest.java
	community/neo4j/src/test/java/upgrade/StoreMigratorIT.java
	community/server/src/main/java/org/neo4j/server/preflight/PerformUpgradeIfNecessary.java
	community/server/src/test/java/org/neo4j/server/preflight/TestPerformUpgradeIfNecessary.java
	enterprise/backup/src/main/java/org/neo4j/backup/BackupService.java
	enterprise/cluster/src/main/java/org/neo4j/cluster/protocol/election/ElectionState.java
	enterprise/com/src/main/java/org/neo4j/com/storecopy/RemoteStoreCopier.java
	enterprise/com/src/test/java/org/neo4j/com/storecopy/RemoteStoreCopierTest.java
	enterprise/com/src/test/java/org/neo4j/com/storecopy/ThirdPartyDSStoreCopyIT.java
	enterprise/ha/src/main/java/org/neo4j/kernel/ha/cluster/SwitchToSlave.java
	enterprise/ha/src/test/java/org/neo4j/ha/upgrade/LegacyDatabaseImpl.java
	enterprise/ha/src/test/java/org/neo4j/ha/upgrade/RollingUpgradeIT.java