Fix a bug where specifying non-default settingsClasses in DefaultGraphDatabaseDependencies had no effect.
Added length to the Expand logical plan
Finish var length planning

* Rename unnamed varlength paths for Ronja
* Added cardinality estimation for varlength rels
Switches to master/slave role in separate and single thread

Previously switching to master happened in the state machine event thread
which introduced problems if that for some reason took a long time since
no other events could be processed and eventually this instance to become
master would be suspect of suspicions from the other instance. This would
add instabilities during master switches and prolong some switches as
well.

Now the switching happens in a separate, yet single, thread that is shared
by both the slave and master switching and so they cannot happen
concurrently either.
Fixes issue with state bookkeeping for reporting instance role

There are some cases where an instance can switch from MASTER to
 SLAVE without broadcasting the masterIsUnavailable event. In this
 case we cobble the state kept in ClusterMembers and can end up
 reporting the wrong role. This fix introduces knowledge of
 the mutual exclusion of MASTER and SLAVE roles in ClusterMember,
 ensuring that when one is received, the other is properly
 removed.
Initialise LifeSupport.
fixing naming of neo4j desktop artifacts
Merge upstream/2.0-maint into branch 2.0-maint
Merge pull request #2226 from tinwelint/1.9-mode-switch-in-singlethread

Switches to master/slave role in separate and single thread
Merge pull request #2249 from digitalstain/1.9-maint

Fixes issue with state bookkeeping for reporting instance role
Primitive hash collections and maps using hop-scotch hashing

Hop-scotch hashing is an algorithm for dealing with conflicts coming from
hashing values to an index and not really about the hashing itself, as any
hash function can be used with it.

Measured to be comparable to other leading libraries with equal
functionality and with substantially less, also dry, code.
The algorithm itself is pulled out into its own class and clocks in on
about 200-300 LOC, whereas the hash set/map implementations calls that
algorithm with one-liners. The state itself is abstracted into a Table interface
which is trivial to implement with, for example a primitive long[], a
combination of long[] and int[] for a long->int primitive map, a.s.o.

Implementation was driven by an iterative randomizing testing framework
also added in this commit where actions are defined, for example "add" and
"remove" with checks that goes with the actions. In the event a check not
returning OK the execution stops, reduces the list of actions down to a
minimum (by brute-force-reduction one action at a time) and finally prints
a java-code test case to reproduce the problem. Confidence in the code is
high since it has been tested for a very large combination of values
and sizes.

These sets and maps should be preferable over java.util collections in
cases where the key is int or long and access is single threaded.
If need be a multi-threaded version of the algorithm can be added later.

The new sets and maps and all interface it depends on from kernel has been
moved into a primitive-collections module that kernel depends on. Since
everything else depends on kernel this change will barely be noticable for
any other component, apart from class import changes.
Merge pull request #2245 from jakub-/var-length

Variable length planning for Ronja
Merge pull request #2244 from chrisvest/1.9-fix-default-settings-classes

Fix a bug where specifying non-default settingsClasses in DefaultGraphDatabaseDependencies had no effect.
Merge branch '1.9-maint' into 2.0-merge-1.9

Conflicts:
	community/kernel/src/main/java/org/neo4j/kernel/DefaultGraphDatabaseDependencies.java
	enterprise/ha/src/main/java/org/neo4j/kernel/ha/cluster/HighAvailabilityModeSwitcher.java
Solves problem where non deterministic predicates where run too early
Unflaked test Neo4jJobSchedulerTest
Merge branch '2.0-maint'

Conflicts:
	community/kernel/src/test/java/org/neo4j/kernel/impl/util/Neo4jJobSchedulerTest.java
Merge pull request #2255 from neo4j/deterministic-predicates

Solves problem where non deterministic predicates where run too early
Merge branch '2.0-maint'

Conflicts:
	community/cypher/cypher-compiler-2.0/src/main/scala/org/neo4j/cypher/internal/compiler/v2_0/executionplan/builders/FilterBuilder.scala
	community/cypher/cypher-compiler-2.0/src/test/scala/org/neo4j/cypher/internal/compiler/v2_0/executionplan/builders/FilterBuilderTest.scala
	community/cypher/cypher/src/test/scala/org/neo4j/cypher/MatchAcceptanceTest.scala
Fix the build after botched git merge