Merge remote-tracking branch 'systay/1.9-parser-threading' into 1.9-maint
Restores JDK 6.0 compatibility

AutoCloseable is not part of Java 6.0 so we cannot be using it in this branch
Updated rolling upgrade 'quick verification' IT test so that it can be used again
Fixed some issues with the test itself
Removes excessive output during cluster tests
Ensures rolling upgrades from 1.9.5 to 1.9.6

Reintroduces snapshot requests from joining instances. The reason is that
 1.9.5 instances do not provide any means of discovering the state of the
 cluster other than snapshots. So if we want 1.9.6 instances to properly
 join they have to ask and receive snapshots. But, we do not want 1.9.6
 instances to actually serve snapshots, so now the coordinator returns
 a null snapshot state which is detected and discarded. This should
 allow the 1.9.6 instances to work problem free while being able
 to replace a 1.9.5 cluster.
Merge pull request #1837 from digitalstain/1.9-maint

Ensures rolling upgrades from 1.9.5 to 1.9.6
Rationalize example JVM parameters.

Add additional sensible example parameters:
  -XX:+PrintPromotionFailure
  -XX:+PrintFlagsFinal
  -XX:+PrintFlagsInitial

Explain that default heap size is dynamically calculated to avoid
confusion with example hard-coded sizes.

Remove legacy parameters that don't apply anymore, such as:
  wrapper.lockfile
  wrapper.java.app.mainclass

Conflicts:
	packaging/standalone/standalone-advanced/src/main/distribution/text/advanced/conf/neo4j-wrapper.conf
	packaging/standalone/standalone-enterprise/src/main/distribution/text/enterprise/conf/neo4j-wrapper.conf
backporting 17d5600bfef6ac83bc57596b71860e2ed3a6a36e:
"Shell: Print a warning when exiting with unterminated input"
Moved API level usage of internal class GraphDatabaseAPI into internals.

(cherry picked from commit 564e177a3935632b28a819e1b9686bee92c7fe6a)
Moves monitoring to its own package and adds support for monitor tags

Monitoring was part of the o.n.k.impl.util package, now it is moved to o.n.k.monitoring
Monitors has support for tags added so finer grained control over listeners can be
 achieved
Monitors no longer accepts a logger as a constructor argument - that functionality
 can now be properly achieved by adding a Monitors.Monitor to the Monitors instance.
Packs logged string in one line for easy grepping in source
Better logging around elections

logs full vote list, filtered votes and biased instances for
promotion/demotion.
Remove unnecessary test garbage files
Moved stability changes from master into 1.9 for SubProcess.

 NOTE: If you are forward-merging this change into 2.0, you can throw
       away all the changes in this commit, they are already present
       in the master branch.
Fix for incorrect exception handling on request reading error in HA.

 o Added test and implementation for better error handling on early request parsing failure.
 o Moved serialization of requests and deserialization of responses into Protocol class.
 o Added handling of BranchedDataException in HAMS.
Merge pull request #1850 from jakewins/subprocess-stability

Moved stability changes from master into 1.9 for SubProcess.
Merge pull request #1848 from jakewins/com-error-handling

Fix for incorrect exception handling on request reading error in HA.
Fix for race between kernel panic and mode switching

where a thread switching role to slave and
HaKernelPanicHandler thread were competing to harden the master
delegate handler. While all components were switching to their slave
versions a kernel panic event came in and made its switch, ending with
hardening the master delegate handler. All components would take that
as a sign about the master delegate being ready to use. When the
slave switching was done, that thread would set the master delegate to
the actual one, but all components would have already gotten a concrete
reference to the master such that the latter setDelegate call would
not affect them.

Fix is to only have setDelegate() (not harden()) dereference the Concrete
instance so that a setDelegate() after harden() will override that
delegate, making it visible to the peers of it.
Merge pull request #1852 from tinwelint/1.9-delegate-hardening

Fix for race between kernel panic and mode switching