[TEST] RecoveryWhileunderLoadTests sometimes need higher timeouts

In some cases when we have a lot of docs with lots of shards
recovery takes longer than 1m causing the tests to fail before all
shards are recovered. This commit raises the timeout in this test to
5m max while it's rarely needed.

This commit also adds an assertion to ElasticsearchAssertions that
ensures that the cluster health requests are not hitting a timeout.
[TEST] MLT Rest test needs a mapping since we randomized number of nodes/shards
Remove plugin isolation feature for a future version

relates #5261
Fix format string for DiskThresholdDecider reroute explanation
[Docs] Allocation setting explanation

Closes #5748
Benchmark API

Add an API endpoint at /_bench for submitting, listing, and aborting
search benchmarks. This API can be used for timing search requests,
subject to various user-defined settings.

Benchmark results provide summary and detailed statistics on such
values as min, max, and mean time. Values are reported per-node so that
it is easy to spot outliers. Slow requests are also reported.

Long running benchmarks can be viewed with a GET request, or aborted
with a POST request.

Benchmark results are optionally stored in an index for subsequent
analysis.

Closes #5407
Add better error reporting to RestApiParser if assertions are tripped
Fix _bench endpoint specs to have the body on the right level in the json object
[TEST] Allow higher ClusterHealthTimeout on tests if configuration is slow
[TESTS] Add more assertSearchResponse to aggregations tests.
Use startNodesAsync in more tests
Added test with AwaitsFix annotation that simulates a split brain.
Upgrade to Lucene 4.7.2