Don't create LockElement unnecessarily. This drastically reduces object churn under normal operation, as LockableWIndow.lock() is a common operation.
Merge pull request #2559 from neo4j/poolablelocks

Don't create LockElement unnecessarily
Splits MultiPaxosContext in the same manner as in 2.0+
Merge pull request #2569 from jakewins/1.9-paxossplit

1.9 paxossplit
Do a store copy on join when there are no log files for the latest transaction.

I tried writing a test for this, but SwitchToSlave is hard to write tests for,
so the fix is provided without one.
Fix GC overhead of XidImpl

- Only allow equality of XidImpl instances, not the Xid interface,
  reasoning being that hashCode cannot be equal to other xid impls since
  there is no standard, and getting a xid that isn't a xidimpl is an error,
  since the xids come from our tx manager, we do not manage other xids.

- Don't copy the branchID and globalId arrays on every equaylity check
Updates changelogs for 1.9.8
Fixed compile error. Not on Java 7 just yet.
Merge branch '1.9-maint' into 1.9-merge

Conflicts:
	enterprise/cluster/CHANGES.txt
	enterprise/cluster/src/main/java/org/neo4j/cluster/MultiPaxosServerFactory.java
	enterprise/cluster/src/main/java/org/neo4j/cluster/protocol/atomicbroadcast/multipaxos/BiasedWinnerStrategy.java
	enterprise/cluster/src/main/java/org/neo4j/cluster/protocol/atomicbroadcast/multipaxos/context/AbstractContextImpl.java
	enterprise/cluster/src/main/java/org/neo4j/cluster/protocol/atomicbroadcast/multipaxos/context/AcceptorContextImpl.java
	enterprise/cluster/src/main/java/org/neo4j/cluster/protocol/atomicbroadcast/multipaxos/context/ClusterContextImpl.java
	enterprise/cluster/src/main/java/org/neo4j/cluster/protocol/atomicbroadcast/multipaxos/context/CommonContextState.java
	enterprise/cluster/src/main/java/org/neo4j/cluster/protocol/atomicbroadcast/multipaxos/context/ElectionContextImpl.java
	enterprise/cluster/src/main/java/org/neo4j/cluster/protocol/atomicbroadcast/multipaxos/context/HeartbeatContextImpl.java
	enterprise/cluster/src/main/java/org/neo4j/cluster/protocol/atomicbroadcast/multipaxos/context/LearnerContextImpl.java
	enterprise/cluster/src/main/java/org/neo4j/cluster/protocol/atomicbroadcast/multipaxos/context/MultiPaxosContext.java
	enterprise/cluster/src/main/java/org/neo4j/cluster/protocol/atomicbroadcast/multipaxos/context/ProposerContextImpl.java
	enterprise/ha/CHANGES.txt
	enterprise/ha/src/main/java/org/neo4j/kernel/ha/cluster/HighAvailabilityModeSwitcher.java
Merge branch '2.0-maint' into 1.9-merge

Conflicts:
	enterprise/cluster/src/main/java/org/neo4j/cluster/protocol/atomicbroadcast/multipaxos/context/ClusterContextImpl.java
Merge pull request #2589 from jakewins/1.9-merge

1.9 merge