Parent/child: Check if there is a search context, otherwise throw a query parse exception.

Also added a bwc test that runs a delete by query with a has_child query and verifies that only that operation is ignored when recovering from disk during a upgrade.

Closes #8031
Closes #8177
Test: Fix expected error message
Core: Add warmer listener only when index service is set, in order to prevent possible NPE.

The IndicesWarmer gets set before the InternalIndexService gets set, which can lead to a small time window were InternalIndexService isn't set

Closes #8140
Closes #8168
Core: Forget to move the child filter over to fixed bitset filter.

Closes #8171
Aggregations: the `children` agg didn't take deleted document into account.

The live docs that is passed down was ignored by the filter impl. Now the children filter gets wrapped with ApplyAcceptedDocsFilter, so live docs are actually applied.

Closes #8180
Make simple_query_string leniency more fine-grained

Previously, the leniency was on a per-query basis, with each query being
parsed into multiple queries, one for each field. If any one of these
queries failed, the entire query was discarded in the name of being
lenient.

Now query parts will only be discarded if they fail for a particular
field, the entire query is not discarded. This helps when performing a
query over a numeric and string field, as only the sub-queries that are
invalid due to format exceptions will be discarded.

Also moves the `simple_query_string` queries out of SimpleQueryTests and
into a dedicated SimpleQueryStringTests class.

Fixes #7967
Make "noop" request breaker a non-dynamic setting

The issue with making it dynamic is that in the event a cluster is
switched from a noop to a concrete implementation, there may be
in-flight requests, once these requests complete we adjust the breaker
with a negative number and trip an assertion.

This also rarely uses noop breakers in InternalTestCluster
[CORE] Don't handle FNF exceptions when reading snapshot

We used to handle FNF exceptions in the store when reading a snapshot.
For instance if we can't open a segments file for a given commit point
we just return an empty metadata object and tracelog the even. This can
cause shards to be false marked as corrupted if a shard is forcefully
removed while a recovery started at the same time. We should in general
bubble up these exceptions and let the caller decided how to handle the
IOExceptions.
Stats : Add time in index throttle to stats.

This commit adds throttle stats to the indexing stats and uses a call back from InternalEngine to manage the stats.
Also includes updates the IndexStatsTests to test for these new stats.
Stats added :
```
throttle_time_in_millis
is_throttled
```

Closes #7861
TEST : Force throttle test to use tiered merge

This commit fixes the failing throttle test by forcing the use of the tiered merge policy.
Docs: Fixed typo in MissingFilterBuilder

Closes #8185
TEST : Disable throttleStats test

This test has been intermittently failing, disabling while I dig into it.
[SEARCH] Passing fieddata_fields as a non array causes OOM

If `fielddata_fields` are passed as a simple value instead of an array
we end up in an infinite loop createing parsed elements with null
values.
This commit validates the incoming token

Closes #8203
Enable ClusterInfoService by default

Since we enabled the disk threshold decider by default, we need to
enable the cluster info service so that disk usages and shard sizes can
be gathered also.

Adds a test that checks that we are gathering information by default.
[TESTS] Change test node watermarks for DiskThresholdDecider

Ensures that we can still run tests if the machine running them does not
have enough free disk space to be below the high watermark

Conflicts:
	src/test/java/org/elasticsearch/test/ElasticsearchIntegrationTest.java
[CACHE] Expose concurrency_level on all caches

The concurrency level allows to configure the cache internal segments
used to cache data. This can have direct impact on evicition rates since
memory bound caches are equally divided into segments which can cause
early evictions if cache entries are not well balanced.

Relates to #7836
[STORE] Don't catch FNF/NSF exception when reading metadata

When reading metadata we do catch FileNotFound and NoSuchFileExceptions
today, log the even and return an empty metadata object. Yet, in some cases
this might be the wrong thing todo ie. if a commit point is provided these
situations are actually an error and should be rethrown. This commit
pushes the responsiblity to the caller to handle this exception.

Closes #8207
ParseField: Support for when all fields are deprecated

Closes #8067
Docs: fixed typo in documentation

Closes #8205
Fix for ParseFieldTests using unsupported ArrayUtils