fixes neo4j/neo4j#1855

guarantee initialization order of supplied unmanaged extensions by using java.util.List instead of java.util.Set.
fixing compile error in neo4j-desktop
Fixed lifecycle handling during slave switch. No longer causes deadlock with concurrent shutdown of database.
Added predicate to wait for all instances to be joined when using arbiters

Conflicts:
	community/kernel/src/main/java/org/neo4j/kernel/lifecycle/LifeSupport.java
	enterprise/cluster/src/main/java/org/neo4j/cluster/MultiPaxosServerFactory.java
	enterprise/ha/src/test/java/org/neo4j/ha/correctness/ClusterInstance.java
	enterprise/ha/src/test/java/org/neo4j/test/ha/ClusterManager.java
Fixed lifecycle handling during slave switch. No longer causes deadlock with concurrent shutdown of database.
Added predicate to wait for all instances to be joined when using arbiters

Conflicts:
	community/kernel/src/main/java/org/neo4j/kernel/lifecycle/LifeSupport.java
	enterprise/cluster/src/main/java/org/neo4j/cluster/MultiPaxosServerFactory.java
	enterprise/ha/src/test/java/org/neo4j/ha/correctness/ClusterInstance.java
	enterprise/ha/src/test/java/org/neo4j/test/ha/ClusterManager.java
Redid some of the ignored UniqueIndexAccessorCompatibility tests in terms of UniqueConstraintCompatibility.

The populating IndexUpdater test, however, is not equivalent to the test it replaces, because our
pessimistic concurrency control seems to make some of those particular scenarios in the old tests,
impossible to hit through the public API.

The work of rewriting the tests is not yet done. This is just a step of the way.
Implement replacements for all the ignored index compatibility tests
Merge pull request #1859 from sarmbruster/fix-1855

fixes neo4j/neo4j#1855
Remove unused code from unique indexes.
Don't add a node to empty graphs in live console.
Increate test timeout hoping that it'll be less likely to fail on the virtual build servers.
Merge pull request #1944 from nawroth/2.0-maint

Don't add a node to empty graphs in live console.
Refactoring of CleanUpTask
Add CypherTestSuite that extends FunSuite with the right RunWith annotation
Use a more verbose error message when index and label scan hints are not applicable
Merge pull request #1934 from chrisvest/duplicate-number-index-tests-fix

Duplicate number index tests fix
Fixes an issue with tx log reading in severely damaged log files.
Merge pull request #1963 from jakub-/cyphertestsuite

CypherTestSuite
Adds INSTANCE_ID header in all outgoing messages. HIAAProcessor uses that.

HeartbeatIAmAliveProcessor relies on incoming message's URI to determine the
 originating InstanceId. That is error prone and unnatural, since every
 layer but the network should not care about URIs. This commit ensures
 that all outgoing messages have an INSTANCE_ID header with the sending
 instance's ID.
This commit also ensures that HIAAProcessor reverts to looking at
 FROM if the INSTANCE_ID header is not present, since we need to
 make sure that during rolling upgrades from 1.9.6 forward we don't
 loose contact with older version instances
Merge pull request #1958 from boggle/2.0-msgfix

Use a more verbose error message when index and label scan hints are not applicable
Fix typo