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