Track the number of times the CircuitBreaker has been tripped

Fixes #6130
[BUILD] Shade t-digest.
[Test] SimpleNodesInfoTests.testNodesInfos didn't wait for cluster to form properly
[Test] increase ping timeout to 400ms in MinimumMasterNodesTests.dynamicUpdateMinimumMasterNodes
[TESTS] Fix test bugs for parent/child queries.

If you got a bad seed and tests.nightly=true, these tests would either call
Random#nextInt on `0` or trigger infinite loops.
[TESTS] Fix test bug in PagedBytesReferenceTest.
Type is the 'doc-type', not the word 'type'
Update match-query.asciidoc
Fixed typo in getting-started.asciidoc

Closes #6064
Updated groovy docs to point to the new groovy repo
Improved wording in search-type.asciidoc

Closes #5951
Renamed "tire" to "retire" in community clients

Closes #5673
Fix typo in docs
refactor: unify terms and significant_terms parsing

Both need the requiredSize, shardSize, minDocCount and shardMinDocCount.
Parsing should not be duplicated.
refactor: make requiredSize, shardSize, minDocCount and shardMinDocCount a single parameter

Every class using these parameters has their own member where these four
are stored. This clutters the code. Because they mostly needed together
it might make sense to group them.
use shard_min_doc_count also in TermsAggregation

This was discussed in issue #6041 and #5998 .

closes #6143
Allow sorting on nested sub generated field

When you have a nested document and want to sort on its fields, it's perfectly doable on regular fields but not on "generated" sub fields.

Here is a SENSE recreation:

```
DELETE /tmp

PUT /tmp

PUT /tmp/doc/_mapping
{
  "properties": {
    "flat": {
      "type": "string",
      "index": "analyzed",
      "fields": {
        "sub": {
          "type": "string",
          "index": "not_analyzed"
        }
      }
    },
    "nested": {
      "type": "nested",
      "properties": {
        "foo": {
          "type": "string",
          "index": "analyzed",
          "fields": {
            "sub": {
              "type": "string",
              "index": "not_analyzed"
            }
          }
        }
      }
    }
  }
}

PUT /tmp/doc/1
{
  "flat":"bar",
  "nested":{
    "foo":"bar"
  }
}
```

When sorting on `flat.sub` sub field, everything is fine:

```
GET /tmp/doc/_search
{
  "sort": [
    {
      "flat.sub": {
        "order": "desc"
      }
    }
  ]
}

```

When sorting on `nested` field, everything is fine:

```
GET /tmp/doc/_search
{
  "sort": [
    {
      "nested.foo": {
        "order": "desc"
      }
    }
  ]
}

```

But when sorting on `nested.sub` field, sorting is incorrect:

```
GET /tmp/doc/_search
{
  "sort": [
    {
      "nested.foo.sub": {
        "order": "desc"
      }
    }
  ]
}

Closes #6150.
[TEST] Remove busy waiting from BenchmarkIntegrationTest

I think Chuck Norris is required to fix this at this point until we have an API
that can for instance pause a Benchmark. We basically wait for a query to be executed
and that query syncs on a latch with the test in a script :)

This commit also adds some more testing for benchmarks that run into errors.
[DOCS] Rewrote the memory settings section on the configuration page
[TEST] Ensure all benchmarks are aborted on failure and latches are counted down