Added purge monitoring to GCR cache

Pulled in Rickards Monitors utility for easier and collected monitoring of
components in the database.

Also, when purging will not purge the item at the the position where the
purge starts since that position will be the most recently put/updated
position so it doesn't make sense to directly purge it after put/update.
Throws specific exception for denied entry to a cluster

Throws ClusterEntryDeniedException instead of the more generic
IllegalStateException, where CEDE extends ISE. This is so that it can be
caught specifically without resorting to looking at exception message.
Merge pull request #1557 from tinwelint/1.9-gcr-monitoring

Added purge monitoring to GCR cache
Adds serverId to the globalId part of a Xid

This to make it impossible that two instances may produce the same random
seed for its Xid generator and happen to generate the same ID for
different transactions.

Also uses the default constructor of Random() because it's a more random
seed than just current time.
Merge pull request #1562 from tinwelint/1.9-specific-denied-entry-exc

Throws specific exception for denied entry to a cluster
Merge pull request #1571 from tinwelint/1.9-xid-with-serverid

Adds serverId to the globalId part of a Xid
Merge remote-tracking branch 'upstream/1.9-maint'

Conflicts:
	community/kernel/src/main/java/org/neo4j/kernel/InternalAbstractGraphDatabase.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/nioneo/xa/TransactionWriter.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/transaction/ReadOnlyTransactionImpl.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/transaction/ReadOnlyTxManager.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/transaction/TransactionImpl.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/transaction/TxManager.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/transaction/XidImpl.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/util/Monitors.java
	community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/TestTransactionImpl.java
	community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/TxManagerTest.java
	community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/xaframework/TestLogPruneStrategy.java
	community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/xaframework/TestLogPruning.java
	community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/xaframework/XaLogicalLogTest.java
	community/kernel/src/test/java/org/neo4j/test/GraphStoreFixture.java
	enterprise/cluster/src/main/java/org/neo4j/cluster/protocol/cluster/ClusterContext.java
	enterprise/com/src/main/java/org/neo4j/com/Server.java
	enterprise/ha/src/main/java/org/neo4j/kernel/ha/HighlyAvailableGraphDatabase.java
	enterprise/ha/src/main/java/org/neo4j/kernel/impl/cache/GCResistantCache.java
	enterprise/ha/src/main/java/org/neo4j/kernel/impl/cache/GCResistantCacheProvider.java
	enterprise/ha/src/test/java/org/neo4j/kernel/impl/cache/TestGCResistantCache.java