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
Makes most fields of ElectionContext final.
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)
Assign SPI. Duh.
Merge pull request #1368 from rickardoberg/masterfix

Refactoring of MasterImpl and BackupImpl to have SPI, so that they are testable
In order to shutdown properly we have introduced an AccessGuard, which will be checked on beginTx(). The different reasons why starting a tx might not be possible (e.g. database not started) will be setting it's state by granting or denying access. it's implemented with a backing AtomicInteger for performance mainly.
Formatting of changed files according to the Neo4j code style
Ensure killed instance is marked as failed by other instances
Adds Iterables.toSet()
Removes unnecessary intermediate variable in ClusterConfiguration.removeElected
Makes wording on instance failure in HeartbeatContext consistent