[TEST] cleanup secondary cluster properly in Tribe tests.
[TEST] Prevent RelocationTests from going crazy when relocations take time
releasable bytes output + use in transport / translog
create a new releasable bytes output, that can be recycled, and use it in netty and the translog, 2 areas where the recycling will help nicely.
Note, opted for statically typed enforced releasble bytes output, to make sure people take the extra care to control when the bytes reference are released.
 Also, the mock page/array classes were fixed to not take into account potential recycling going during teardown, for example, on a shared cluster ping requests still happen, so recycling happen actively during teardown.
closes #5691
[Test] Added better control over the number of documents indexed by BackgroundIndexer

Used the new controls to reduce indexing activity in RelocationTests and RecoveryWhileUnderLoadTests

Closes #5696
Added global ordinals (unique incremental numbering for terms) to fielddata.
Added a terms aggregation implementations that work on global ordinals, which is also the default.

Closes #5672
fix typo
Add doc value for binary field.

Close #5669
Remove AtomicFieldData.isValuesOrdered.

This method is not used anymore.

Close #5688
add lucene language model similarities (Dirichlet & JelinekMercer)
Remove clear on mock page/array
since we use a shared cluster, calling clear on the mock array / page recycler can cause removing a valid on going reference, and then when its released, the release will fail because it can't be found.
There is no real reason to call clear, checking if pages/arrays have been released takes the snapshot behavior here into account.
This change also makes sure we don't use the mock classes in places where we don't really release.

Note, with this change DoubleTermsTests fails, since it causes failures when creating aggs in the pre process phase, causing obtained arrays not to be released. This needs to be fixed before pulling this change in.
disable args tests that cause page/array leak
related to #5703
Renamed XContentParser.Token named "t" to "token".

The name "token" was declared 191 times for XContentParser.Token
objects, while "t" was used only 6 times.
Renamed ClusterBlocks variable named "block" to "blocks".

"blocks" has been used 9 times for variable names of type
ClusterBlocks but block has been used only this case. It
seems to be a typo.
Removing EOL client rubberband and adding official php client
Fix typo and add more clients
Update link to puppet module and remove link to other RPM repo as we have our own.
Aggregation cleanup

- consolidated value source parsing under a single parser that is reused in all the value source aggs parsers
- consolidated include/exclude parsing under a single parser
- cleaned up value format handling, to have consistent behaviour across all values source aggs
Update advanced-scripting.asciidoc
Recycled bytes in http + rest layer refactoring phase 2
Refactor the rest layer handlers to simplify common code paths (like handling) failures, and introduce optional (enabled for netty) rest channel bytes recycling
[TEST] Replaced RestTestSuiteRunner with parametrized test that uses RandomizedRunner directly

ElasticsearchRestTests extends now ElasticsearchIntegrationTest and makes use of our ordinary test infrastructure, in particular all randomized aspects now come for free instead of having to maintain a separate (custom) tests runner

We previously parsed only the tests that needed to be run given the version of the cluster the tests are running against. This doesn't happen anymore as it didn't buy much and it would be harder to support as the tests get now parsed before the test cluster gets started. Thus all the tests are now parsed regardless of their skip sections, afterwards the ones that don't need to be run will be skipped through assume directives.

Fixed REST tests that rely on a specific number of shards as this change introduces also random number of shards and replicas (through randomIndexTemplate)

Closes #5654