Typo.
Ignores file descriptor test for windows, conceptually doesn't work on that OS
Make single() methods close iterators that are also resources
Merge pull request #2394 from chrisvest/2.1-close-resource-iters

Make single() methods close iterators that are also resources
Store migration framework enhancements

To enable migration with multiple participants. StoreUpgrader is turned into the
controller of the whole migration process where participants can register
and are later on asked to determine whether or not migration for that
participant is required and if so asked to migrate. Participants can also
declare dependencies that other participants can satisfy.

Although whereas the dependency satisfication and resolution is in place,
that information is not used to reorder the participants, it's fixed to
the order they were added. That can be added later when we see fit.
Merge pull request #2395 from tinwelint/2.1-store-migration-frw

Store migration framework enhancements
Lossless numeric indexing

Previously numeric values where coerved into double before put in index.
This was problematic for some big long values, which could have many
long values convert to the same double value, allowing for invalid
query results (false positives).

This commit solves this by identifying long values that doesn't convert to
a long without changing value, and puts those into a "long" field in the
lucene document, encoded as a long as opposed to the normal "numeric"
double encoding.

This change requires a rebuild of indexes with one or more of such long
values. TODO talk more about the migration.
Lucene schema index provider migrator for lossy->lossless numeric indexes

Only the affected indexes, and only affected documents actually, are updated
to the new long<-->double lossless representation.

In order to enable this kind of migration the store migration framework
had to be evolved quite a bit. Therefore StoreUpgrader is turned into the
controller of the whole migration process where participants can register
and are later on asked to determine whether or not migration for that
participant is required and if so asked to migrate. Participants can also
declare dependencies that other participants can satisfy.

Although whereas the dependency satisfication and resolution is in place,
that information is not used to reorder the participants, it's fixed to the
order they were added. That can be added later when we see fit.

Conflicts:
	community/kernel/src/main/java/org/neo4j/kernel/configuration/Config.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/nioneo/store/StoreFactory.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/storemigration/StoreMigrationTool.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/storemigration/StoreMigrator.java
	community/kernel/src/main/java/org/neo4j/unsafe/IndexRebuilder.java
	community/server/src/main/java/org/neo4j/server/preflight/PerformUpgradeIfNecessary.java
	enterprise/ha/src/main/java/org/neo4j/kernel/ha/cluster/SwitchToSlave.java