Serialization: Add support for Byte to the XContentBuilder.

Close #6127
Mustache: Ensure internal scope extrators are always operating on a Map

Mustache extracts the key/value pairs for parameter substitution from
objects and maps but it's decided on the first execution. We need to
make sure if the params are null we pass an empty map to ensure we
bind the map based extractor

Closes #6318
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.
remove stale nocommit
Parent/Child: Added min_children/max_children to has_child query/filter

Added support for min_children and max_children parameters to
the has_child query and filter. A parent document will only
be considered if a match if the number of matching children
fall between the min/max bounds.

Closes #6019
Aggregations: apply 'from' if there is one shard result.