[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.
[Docs]  Add experimental highlighter plugin
[DOCS] Added tables and fixes to upgrade.asciidoc, fixed version in README.textile
Author: Sean Gallagher
Date: 10 Apr 2014 15:23 EDT
Fixed an where a nested `nested` aggregation falls outside of its parent `nested` aggregation bounds.

The nested `nested` aggs now gets the proper parent docs that define its bounds correctly.

Closes #5728
The clear scroll apis now optionally accepts a scroll_id in it body.

Closes #5726
Ignored clear scroll rest test
[TEST] Prevent TTLPurger from recreating deleted index

Related to #5766
Each search request should use a new InternalSearchResponse instance even in case when all shards return no hits.
The InternalSearchResponse may get modified afterwards, so a new instance required at all times.
Strengthening pseudo random number generator and adding tests to verify its behavior.

Closes #5454 and #5578