Add more tests to ensure the interaction between TransactionEventHandlers and indexes

This verifies that github issues #3590, #2851, #2270 and #2714 are fixed in 2.2.
Add additional tests for X-Forwarded-Host

Against Cypher REST response, and slash redirects
Fixed merge
Removed the integration tests pertaining to the correct use of X-Forward-* when redirecting from URIs that don't end in slash to ones that do*.

This is because there is some subtle interaction between Jetty and Jersey that screws this up. We've been through the Jetty code trying to see where this happens, but it's high cost for low value. Therefore when you don't correctly specify (say) /db/mabage/ and instead specify /db/manage then you will likely get incorrect URIs in the 302 response. the solution is not to use the wrong URI.

* This is a dumb decision by Jetty/Jersey. It is clear that http://example.com/foo/ and http://example.com/foo are not the same URI. Meh.
Stop pointing to the installer script. Update download links.
Remove configuration change restarts

This feature was completely broken, and no tests were concerned with its well-being.
If you asked the ConfigurationBean to apply a new configuration, the server would attempt a partial restart and fail half-way through, locking up the whole database until the process as a whole was restarted.
It's a high-complexity, low-value feature, that was easy to forget about, and the partial restarts were hard to reason about, and I've never heard of anyone using it.
If you were using it, the new way of applying new configurations is to just restart the whole database.
If there are no active transactions running that we need to wait for, then the turn-around time for a clean restart is pretty short anyway.

This commit also fixes a bug in the deprecated `Config.setProperty()` method that, if used, would delete all properties instead of adding the given one.
Furthermore, the ConfigurationBean will not refuse writes to the attributes that it has always claimed were read-only. Which is all of them.
A new internal configuration has also been added, called `transaction_start_timeout`, which controls how long we will wait for the database to become available when starting a new transaction.
Make default CostEvaluator work with arbitrary numeric types
Added more logging in HA

Removed a flaky test which is not applicable after we've introduced UpdatePuller
Added logging to help locate where all instances in a cluster see others as available.
Merge pull request #3620 from chrisvest/2.2-tests-for-txeventhandler

Add more tests to ensure the interaction between TransactionEventHandlers and indexes
Merge pull request #3598 from S124568/2.2-cluster-topology-IT-flakiness

Added more logging in HA
Merge pull request #3609 from nawroth/installer

Stop pointing to the installer script. Update download links.
Enrich logging for a a flaky test in IndexOperationIT which will help to show the real cause of tx commit failures
Merge pull request #3522 from jexp/2.1-maint

Make default CostEvaluator work with arbitrary numeric types
Merge pull request #3607 from chrisvest/2.2-reconfigure

Remove configuration change restarts
Improving unmanaged extensions docs

* Example of streaming back the response
* Example of using a single ExecutionEngine
* Reordering the explanation of the basic example
Merge '2.1' into '2.2'

Makes the default CostEvaluator work with arbitrary numeric types.
Remove extra PlanDescription API from javacompact
Improvements to unmanged extention and neo4j-harness docs.
Merge pull request #3626 from davidegrohmann/2.2-add-ids-to-json-plan-desc

Remove extra PlanDescription API from javacompact
Remove the use of reachability fences

We don't need them because the use of the native pointer is contained within the critical section of the pin, as represented by the StampedLock. This locking similarly constrains the life-time of the page objects.
In essence, use of the native pointer cannot move above taking the lock, nor bellow its release, and since the MuninnPage objects are themselves StampedLocks, their life-times is guaranteed to extend at least as far as their last lock release.