Use jgit to get git describe for the kernel version.
Adds the ability to add HeartbeatListeners after the Heartbeat state machine has been
 initialized.

Authored by RO, part of https://github.com/neo4j/neo4j/pull/476/
Renames CoordinatorIncapableCredentialsProvider to NotElecteableElectionCredentialsProvider

Introduces NotElectableElectionCredentials, used by the new provider
Replaces instances of the old class with the new
Introduces new utility method in ClusterManager to start cluster with arbiters
Small fixes in ClusterManager

Authored by RO, part of https://github.com/neo4j/neo4j/pull/476/
Renames HeartbeatFailedReelectionListener to HeartbeatReelectionListener

Updates reference in MultiPaxosServerFactory

Authored by RO, part of https://github.com/neo4j/neo4j/pull/476/
Factors out common code in ClusterState

Authored by RO, part of https://github.com/neo4j/neo4j/pull/476/
Enables slave only functionality in HA cluster members

Introduces slave_only setting, which if set makes HAGD use NotElectableElectionCredentials
ClusterClient implements Election
Election is expanded with performRoleElections(), a corresponding message is added in
 ElectionMessage and is handled in ElectionState. Handling consists of holding an
 election for all currently known roles.
ElectionState, when doing election, no longer backs off with a counter. Instead
 a timeout is set and the first instance in the list of instances is expected to
 perform the election. On timeout the second one is tried etc.
Adds tests for slave only functionality

Authored by RO, part of https://github.com/neo4j/neo4j/pull/476/
Fixes synchronization issue with delivery of learn messages on instance join

This makes sure that learn messages sent from us for us are treated as internal
 messages. That way they will be synchronously processed before any other
 incoming messages.
This is expected to solve some intermittent test failures.
Removes some explicit shutdown calls on executors on Server.stop(). Relies on proper clean up by netty instead.

This is in part a forward port of bee78fc167bc65fae4f39f03a826eee82505cb8e with a provision for backwards compatibility
Updates changelogs
Adds license header
Fixes issue with relationship delete cache invalidation, where recovered commands would fail to
 properly update their node's relationship chain position

RelationshipCommand now on execute will, when recovered, read the current store version and use
 that to invalidate/update the cache.
Removes methods from RelatioshipCommand that were not used and since this change potentially misleading
Fixes some formatting in RelationshipCommand
Enables test case for this issue
Merge pull request #488 from nawroth/hashes

Use jgit to get git describe for the kernel version
Fixed linebreak issue on server start output
Added a bit more of explanation around the neewsfeed example.
Check 3rd-party licenses in all modules.
Makes TestPullUpdatesApplied  use proper synchronization instead of relying on Thread.sleep()
Makes sure that the ordering of BrickElements in PersistenceWindowPool does not change while sorting.

Introduces snapshotting of the hitCount, performed before sorting, so that value remains stable
 and the Comparator does not come up with conficting results. This is to make sure TimSort
 from JDK 7 does not throw exceptions.

This is a step towards JDK 7 compatibility
Unused imports.
Unignores TestIsolation and TestDoubleRecovery
Reduces the number of operations in MultiPaxosNetworkTest even further, trying to avoid potential timeouts