Fixes autoindexer issue with excessive Remove commands for property changes

The autoindexer provided the "facility" of lazily removing properties from the
 autoindex when those properties were removed from the list of properties
 to autoindex. This however led to Remove commands to be issued for all
 remove and set calls on all properties no matter if they should be tracked
 or not, as long as auto indexing was enabled. It would do so moreover
 for every such call in a transaction.
This patch reverts this behaviour (and updates the documentation) to
 not dealing at all with properties that are removed from the list
 of auto indexed properties.
Merge branch '1.9-fix-autoindexing' of https://github.com/digitalstain/neo4j into digitalstain-1.9-fix-autoindexing
Fixes a page write race in the batch importer

regarding creating the neostore and moving on to starting the actual
import. This would have been a problem when the IoQueue was used as the
writer.

This commit adds a flush+wait after creating the neostore to remedy this
problem.
Merge branch '2.1-maint'

Conflicts:
	community/kernel/src/main/java/org/neo4j/unsafe/impl/batchimport/store/BatchingNeoStore.java
	community/kernel/src/main/java/org/neo4j/unsafe/impl/batchimport/store/BatchingWindowPoolFactory.java
	community/server/CHANGES.txt
	enterprise/cluster/src/main/java/org/neo4j/cluster/protocol/atomicbroadcast/multipaxos/context/ClusterContextImpl.java
	enterprise/cluster/src/test/java/org/neo4j/cluster/protocol/election/ElectionContextTest.java
Merge branch 'digitalstain-1.9-fix-autoindexing' into 2.0-maint

Conflicts:
	community/kernel/CHANGES.txt
	community/kernel/src/main/java/org/neo4j/kernel/AbstractAutoIndexerImpl.java
	community/kernel/src/test/java/org/neo4j/kernel/impl/util/LogEntryShuffler.java
	community/kernel/src/test/java/org/neo4j/kernel/lifecycle/LifeSupportTest.java
	community/lucene-index/src/test/java/examples/AutoIndexerExampleTests.java
	community/lucene-index/src/test/java/org/neo4j/index/impl/lucene/TestAutoIndexing.java
	enterprise/cluster/CHANGES.txt
	enterprise/ha/CHANGES.txt
	packaging/standalone/standalone-advanced/src/main/distribution/text/advanced/CHANGES.txt
	packaging/standalone/standalone-community/src/main/distribution/text/community/CHANGES.txt
	packaging/standalone/standalone-enterprise/src/main/distribution/text/enterprise/CHANGES.txt
Merge branch '2.0-maint' into 2.1-maint

Conflicts:
	community/kernel/CHANGES.txt
	enterprise/cluster/CHANGES.txt
	enterprise/cluster/src/test/java/org/neo4j/cluster/protocol/election/ElectionContextTest.java
	enterprise/ha/CHANGES.txt
	packaging/standalone/standalone-advanced/src/main/distribution/text/advanced/CHANGES.txt
	packaging/standalone/standalone-community/src/main/distribution/text/community/CHANGES.txt
	packaging/standalone/standalone-enterprise/src/main/distribution/text/enterprise/CHANGES.txt
Merge branch '2.1-maint'

Conflicts:
	community/kernel/src/test/java/org/neo4j/kernel/impl/nioneo/store/PersistenceWindowPoolRaceTestIT.java
Fixes compilation error from merge
Refactorings and improvements on batch importer staging

The staging framework for the ParallelBatchImporter has been
changed to reduce time spent in the framework itself as well
as reporing much more accurate statistics.

- Simplified Stage to only have #add(Step), instead of input/add
- Simplified and streamlined waiting of conditions in individual steps
  where conditions are first busy waited a little while, to then
  back off to a sleep strategy.
- Improved accuracy of statistics of upstream/downstream idling,
  possible since better placed for measuring was found.
- DetailedExecutionMonitor will find and print which step is the
  current most likely step to be the bottle neck in the stage.
- Correctly and efficiently follows the contract of a step, where
  batches must be sent downstream in the order they arrived, which
  implies total ordering as a whole between steps. Previously there
  was too strict checks such that some parallelization was hindered.

(cherry picked from commit e50473ec0ff19786fae997c4f9b09bca368d5bae)

Conflicts:
	community/consistency-check/src/test/java/org/neo4j/unsafe/impl/batchimport/ParallelBatchImporterTest.java
Merge branch '2.1-maint'
[1.9] Backup tool should exit with error if consistency check fails.

A failed consistency check is now transported all the way up to the user with
a print and the return code is 1.
Merge pull request #3170 from martinfurmanski/1.9-backup-tool-should-report-consistency-error

[1.9] Backup tool should exit with error if consistency check fails.
Revert "Remove metadata/id from the representation"

This reverts commit 786bbd63768d316c8633bdfb60bfaee2808210a0, and
converts the metadata/id representation to a Long.
Merge remote-tracking branch 'upstream/1.9-maint' into merge-1.9-into-2.0

Conflicts:
	community/kernel/src/test/java/org/neo4j/kernel/NodeAutoIndexerImplTest.java
	community/kernel/src/test/java/org/neo4j/kernel/lifecycle/LifeSupportTest.java
	community/lucene-index/src/test/java/examples/AutoIndexerExampleTests.java
	enterprise/backup/src/main/java/org/neo4j/backup/BackupService.java
	enterprise/backup/src/main/java/org/neo4j/backup/BackupTool.java
Merge pull request #3172 from lutovich/merge-1.9-into-2.0

Merge 1.9 into 2.0
Merge remote-tracking branch 'upstream/2.0-maint' into merge-2.0-into-2.1

Conflicts:
	enterprise/backup/src/main/java/org/neo4j/backup/BackupTool.java
Merge pull request #3173 from lutovich/merge-2.0-into-2.1

Merge 2.0 into 2.1
Merge remote-tracking branch 'upstream/2.1-maint' into merge-2.1-into-master

Conflicts:
	enterprise/backup/src/main/java/org/neo4j/backup/BackupService.java
	enterprise/backup/src/main/java/org/neo4j/backup/BackupTool.java
Merge pull request #3174 from lutovich/merge-2.1-into-master

Merge 2.1 into master
Merge pull request #3167 from cleishm/node_metadata

[2.1] Revert "Remove metadata/id from the representation"