Recycling: change the default type of the page recycler to CONCURRENT instead of SOFT_CONCURRENT.

This default type has been inherited from its ancestor, the (non-paged) recycler whose memory
usage was unbounded and required soft references to make sure it could release memory eventually.
On the contrary, the page cache recycler memory usage is bounded so we could remove soft
references in order to remove load on the garbage collector.

Note: the cache type is already randomized in integration tests.

Close #6320
[TESTS] There might be several live `BigArrays` instances at the same time.
[DOCS] Document filtered query strategies.
[Tests] assert indexRandom's deletion of injection dummy docs find them
[Test] added search trace logging to IndexActionTests.testAutoGenerateIdNoDuplicates
Test: Python doesn't support atomic groups in regexes. Removing from cat.recovery
Upgrade to netty 3.9.1
closes #6331
[TESTS] Add get snapshot status test for partial snapshots
[DOCS] Java 7 is required since 1.2.0
Aggregations: Fixed bug in top_hits aggregation to not fail with NPE when shard results are empty.

The top_hits aggregation returned an empty InternalTopHits instance with no fields set when there were no result, causing reduce and serialization errors down the road. This is fixed by setting all required fields when a there are no results.

Closes #6346
Aggregations: added pagination support to `top_hits` aggregation by adding `from` option.

Closes #6299
Docs: Tidied percolate.asciidoc
[BUILD] Fix compile error
Have a dedicated join timeout that is higher than ping.timeout for node join
Using ping.timeout, which defaults to 3s, to use as a timeout value on the join request a node makes to the master once its discovered can be too small, specifically when there is a large cluster state involved (and by definition, all the buffers and such on the nio layer will be "cold"). Introduce a dedicated join.timeout setting, that by default is 10x the ping.timeout (so 30s by default).
closes #6342
Aggregations: Take the 'from' into account when getting a fetched hit (InternalSearchHit). Hits before the 'from' are included in each shard result.
Increment CircuitBreaker in addition to specialized breaker for BigArrays
Move to an extendable service allowing for named breakers
Allow the breaker class to be configurable
Use an interface for circuit breakers, allow different types of breakers

Also adds rudimentary redistribution to circuit breakers
Add example of buffering circuit breaker, clean up constructors