Merge pull request #2792 from nawroth/1.9-maint

Get rid of warnings around snippets in the ACL example.
Correctly quote arguments to tr
Reset of election version is 1 and not 0 apparently
Remove use of non-versioned voting

Conflicts:
	enterprise/cluster/src/main/java/org/neo4j/cluster/protocol/atomicbroadcast/multipaxos/context/ClusterContextImpl.java
Removed backward compatibility test
Make sure we always send VersionedVoteData by asking with proper VoteRequests

Conflicts:
	enterprise/cluster/src/main/java/org/neo4j/cluster/protocol/election/ElectionState.java
Merge pull request #2808 from cleishm/tr-quote-fix

Correctly quote arguments to tr
Merge pull request #2813 from digitalstain/1.9-versioned-election

Backport of the removal of versioned election compatibility
Uses the cancellation request to replace interruption for state changing tasks

This interface captures the notion of the request to cancel a
 running task. This involves the actual checking but not the
 notification mechanism, which is application dependent.
The driver for this is properly cancelling state change in HA

Removes the use of Thread.interrupt() for cancelling the task that is
 currently switching state. Interruption had the capacity to cause
 unwanted side effects to IO operations.
The Future that is attached to the currently running task is actually
 waited for, ensuring no two threads are stepping on each other's toes
The SwitchToSlave task checks at convenient points during the store copy
 if cancellation has been requested and properly aborts, while cleaning
 up. This will be revisited
Adds comments to key methods and adjusts a test to work with the new way
 of cancelling.

Refactors master HA URI to make structure more clear

Adds two cancellation points in SwitchToSlave

Adds defensive check for switching to slave for ourselves as master

Also adds a catch clause around the get() for the Future of the
 task switching, when there is the need for cancellation
Adds a test for the added check
Merge pull request #2831 from digitalstain/1.9-cancel-state-switch

Properly cancel state switch tasks
Ensures that incompatible roles are removed from cluster info on availability events

Given that when an instance fails it does not broadcast unavailability events, it may
 happen that an instance failing and rejoining can keep the backup role. Also, an
 instance failing should have its roles removed, as they are no longer relevant. This
 commit does so by checking in ClusterMember for incompatible roles and removing them.
 Additionally, it removes all roles from an instance when a failure event is received
 for it.
Adds tests for these conditions on the ClusterMembers level.
Merge pull request #2850 from thobe/1.9-stringent-role-reporting

Ensures that incompatible roles are removed from cluster info on availability events
Restore the ability to have "mandatory" as a config default value.
Update default configuration files
Inline deadlockGuardedWait and change the WaitElement add to only happen once, as it could lead to leftover waits that never got notified, leading to a dead database.
Merge pull request #2864 from rickardoberg/communitylockleak19

Community LockManager lock leak fix
Document the appropriate way to disable UDC.
Merge pull request #2863 from cleishm/1.9-default-config

Update default configuration files
Makes it possible to disable UDC through System property.

This change also makes UDC not fail if an invalid configuration
value is given, instead it interperts it as the default value.
Merge pull request #2872 from thobe/1.9-udc-configuration

1.9 UDC configuration
A tool for dumping the content of a store.

Very useful when debugging.