Fix exception merging to be compatible with Java 1.6.
Don't access resources during shutdown.

The XaDataSourceManager was creating new resources in
unregisterDataSource(). When this method is called during shutdown,
other components may already have been shut down so the resource
creation may fail.

The particular case we saw was a race condition shutting down during a
master switch, which caused a NullPointerException in
XaConnectionHelperImpl when LuceneDataSource tried to create a
LuceneXaResource with a null XaResourceManager (which had been nulled
out during the master switch).
Remove a catch block that was suppressing failures in a test and make the test more robust.

The catch block in HTTPLoggingDocIT was suppressing all failures. Once
it had been removed it became apparent that the test was
flaky. Specifically it almost always failed in my IDE when run
alone (although it passed when run with the other tests in the file). I
believe the flakiness was because the log file wasn't always flushed to
disk before the assertion was reached.
Isolate HTTPLoggingDocIT from other tests that use the shared server.

o Server tests that create their own server need to extend
  ExclusiveServerTestBase in order to ensure that the shared server is
  not running while they execute.
o HTTPLoggingDocIT runs its own server because it needs specific
  configuration.
Server can dictate which logging kernel uses

And will, in the server setup, have server and kernel use the same logging mechanisms.
This commit also removes usages of java.util.logging from server in favor
of the console logger in kernel.
Merge pull request #2159 from benbc/1.9-dont-access-resources-during-shutdown

Don't access resources during shutdown.
Don't swallow output in problematic test.

TestRecovery is failing on OSX under TeamCity. We need to avoid throwing
away the output from the subprocess so that we can diagnose the problem.
Includes before/after state in command #toString() methods

where applicable, namely nodes and properties
Specify Java subprocess is headless. Needed on OSX with Java 1.6 only.
Merge pull request #2125 from tinwelint/1.9-server-logging

Server can dictate which logging kernel uses
Revert "Specify Java subprocess is headless. Needed on OSX with Java 1.6 only."

Found a better way to do this. If we use MAVEN_OPTS to set the headless
property then it is inherited by subprocesses.

This reverts commit a462796552f1dba45ca4671b42009ee9244c7d0a.
Merge pull request #2161 from tinwelint/2.0-before-after-command-tostring

Includes before/after state in command #toString() methods
Add some comments to clarify some important subtleties for the synchronization of TxManager.
Address some warnings.
Better error reporting if recursive directory deletes fail.

o Although it threw an IOException if the delete failed, we didn't get
  any information about why, because #deleteFile() itself doesn't throw
  an exception.

o We would like to get better reporting to help diagnose flaky tests.

o I am reluctant to change FileUtils#deleteFile() itself to throw an
  exception instead of returning a boolean because it is so widely used.
Merge pull request #2165 from chrisvest/1.9-forcemode-importance

Add some comments to clarify some important subtleties for the synchronization of TxManager.
Fixes issue with client shutting down before transactions are pulled

The client the store copy method needs to perform full store copies over
 the network was closed by the RemoteStoreCopier before the transactions
 were pulled over in their entirety from the master. That can lead, in the
 presence of high transaction data volume, CCE to be thrown while doing
 full store backups. This commit fixes this issue by introducing an
 explicit done() method for the StoreCopyRequester that closes
 the client at an appropriate time.
RemoteStoreCopierTest is properly altered to check for the correct call
 sequence.
Removes some System.out.println calls that were added for monitoring
 purposes.
Cleanup: Response is Autocloseable, requester closes in a finally
New output format for the manual.

* Introduces a new HTML5 output format for the manual.
* Removes the PDF and text outputs.
* Removes the manual and Java APIdocs from the download packages.
* Gets rid of the native docbook dependency (but still requires xmllint).
* Removes the preview build.
Reduce network overhead of locking in HA

We now keep track of reentrancy locally on each instance, and only do a network round-trip the first time we grab a lock.