Don't stop neo data source in case of failure

when switching to slave, because it will prevent future switch tries with
NPE in CommonAbstractStore.
Merge pull request #1853 from tinwelint/1.9-slave-switch-retry-thingie

Don't stop neo data source in case of failure
Adding System.out of which processes gets dumped, for debugging purposes. It's OK since this class is used for in testing/debugging
Adds test for Monitors and fixes issue with listener removal

The test MonitorsTest.shouldUnregister() was failing with a ClassCastException.
 The reason was that it was doing the cast on a field different than the one that
 it was performing the instanceof check.

Conflicts:
	community/kernel/src/test/java/org/neo4j/kernel/monitoring/MonitorsTest.java
Merge branch 'neo4j/1.9-maint' into master

Conflicts:
	enterprise/ha/src/main/java/org/neo4j/kernel/ha/cluster/HighAvailabilityModeSwitcher.java
Removes the ComException wrapping of server-side BranchedDataException

which is no longer needed due to recent changes in exception streaming
from server to client. In fact the wrapping prevented a slave to properly
react to branched data and would make that slave unable to ever join the
cluster.
Merge pull request #1868 from cleishm/2.0-merge-1.9-maint

Merge branch 'neo4j/1.9-maint' into master
Making the reporting of BiasedWinnerStrategy a bit easier to

o This is a 1.9 version - lots of classes moved around so I've
  submitted a 2.0 version as well
o Changed wording so it describes it in words that will be easier
for the field team to understand
o Added tests around the BiasedWinnerStrategy
Unused imports
Refactored the test facility DumpProcessInformation

to be instantiable where a Logging dependency is accepted, instead of
printing to System.out
Merge pull request #1871 from mneedham/1.9-maint-bws

Making the reporting of BiasedWinnerStrategy a bit easier to
Correct election outcome logging
Typo
Merge pull request #1870 from tinwelint/1.9-branched-slave-fix

Removes the ComException wrapping of server-side BranchedDataException
Added ability to dump to file directly, use '--tofile'
Fixes an issue with phase2Timeout on proposer state

When an instance times out on phase 2, if it is closed or delivered
 it should have its payload retried. This patch adds this functionality.
Also fix false index collisions for online indexes

The story so far:

* Indexes store all numbers as doubles, and that means that large long values
  can coerce to the same double values and cause collisions in the index.
  We fixed this for indexes that are populating, by making them read colliding
  values out from the property store to double check if the collision is real
  or not.
* We also added a similar "exact match" filtering to the index lookup
  operations on StateHandlingStatementOperations, to fix index lookups.
* What we didn't fix in the first round, was adding new stuff to indexes that
  are online. This is the bug that Mattias found.
* Specifically, the UniquePropertyIndexUpdater verifies that the constraint is
  still holding in its close method.
* This is super bad, because the close method is called in commit - not in
  prepare, not during the transaction - in commit. Huge no-no.
* Initially you'd think that this puts recovery at risk, but that turns out not
  to be the case, because during recovery, we use a normal index updater
  instead of the unique one.
* So this means that the following scenario was possible: Add two nodes with
  similar but distinct long values to the index. The
  ConstraintEnforcingEntityOperations is fine with this because the values are
  really different. However, the UniquePropertyIndexUpdater trashes the
  transaction in commit. Now suppose the entire database server crashes for
  whatever reason, and we must do recovery. We recover the index using the
  normal updater that just adds the values without checking any constraints.
  And this is actually totally fine, because we filter for exact matches in the
  StateHandlingStatementOperations. And so only then does the index work as
  advertised. We had to crash the database in order to add a valid value to the
  index. Except, there is a window between the crash of the transaction, and
  the crash of the database, where the transaction could have been retried with
  the same exact value and encounter the same exact crash. Now we recover both
  transactions, and boom: we got a duplicate in the unique index!
* The solution I'm going for currently is to just not verify the constraint in
  the UniquePropertyIndexUpdater.close method... just accept the value as
  given, and trust that the ConstraintEnforcingEntityOperations has done it's
  job.
* Implementing this solution is made a bit harder by a number of tests
  operating directly with the IndexUpdaters, instead of checking the publicly
  observable behaviour.
* I intend to rephrase these tests in terms of higher level APIs, but in the
  mean time (because there are a lot of cases to cover) we will have to ignore
  all the now failing tests, and see what the robustness suite says.
Fixes #1876 - Null nodes and properties should be ignored when SETting properties
Logs file sizes when copying store files from master
Makes sure a literal map can't be used with the SET clause