Refactorings
SPI impl is it's own class now
License header in DefaultMasterImplSPI
Merge branch '1.9-maint' into masterfix

Conflicts:
	enterprise/backup/src/main/java/org/neo4j/backup/OnlineBackupKernelExtension.java
	enterprise/ha/src/test/java/org/neo4j/ha/TestPullUpdatesApplied.java
Removed usage of 1.7 API
Getting a snapshot does now not update our sense of last delivered instance id
SettingsTest now check that lists like "1,2,3,4," are parseable
Elections now don't ask coordinator to vote if it has already voted
Misc. format fixes
Merge branch '1.9-maint' into masterfix
Removed sout
Merge branch '1.9-maint' into masterfix
Coherent behavior for all collection slice and indexing operations.

o All relevant operations - head, tail, last as well as bracket-syntax indexing
   ([x] and [x..y]) now return null for out-of-bounds operations.
Makes most fields of ElectionContext final.
Cleanup of internal classes that should not be publicly documented.

o Moves all publicly documented internal classes added in 2.0 to internal packages.
o Deprecates all publicly documented internal classes added before 2.0.
Adds trace logging statements during election and cluster join/leave.

This is a temporary commit, because we need the execution powers of the CI
 system which seems capable of reproducing some edge case failures. After this
 task is done it should be reverted and if prudent, polished and reapplied.
quoting JAVACMD so that people can set JAVA_HOME to paths which have spaces in
Performance optimizations for best-first selector

Mostly revolving around finding single paths. This gives a good
improvement when calling PathFinder#findSinglePath for those graph
algorithms using the traversal framework and more specifically the
BestFirstSelector. Currently this will benefit Dijkstra and A*, although
the default implementation of A* is a custom non-traversal-framework
version that only supports single paths anyways so already has got a
similar performance behaviour. Look at TraversalAStar for a A* version
that uses the traversal framework.

(cherry picked from commit 059bb13af0d492a95c68a5027e746ae07153bbd2)
making the message about what people need to do to get Java 7 a bit clearer
Share code for scanning through stores.

o Introduce BoundedIterable.
Merge pull request #1420 from boggle/master

Update Cypher test dependencies
Consistency checker: multi-pass processing for label scan store and indexes.
Consistency checker: delegate incremental checking to full checking.