Tests: Control reallocation in upgrade test to stop rebalancing causing upgrade requests to be lost.
Use groovy-x.y.z-indy jar for better scripting performance

Using the Groovy jar with the indy (short for `invokedynamic`) classifier enables usage of the `invokedynamic` instruction available in Java 7+. Due to buggy JVMs, it should only be used with Java 7u60 or later.
Merge pull request #8183 from pickypg/feature/groovy-jdk7-8182

Use groovy-x.y.z-indy jar for better scripting performance
Tests: Add forgotten portions of the fix to make the upgrade test not do
reallcations at the wrong time.
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.
Rarely use noop breakers in InternalTestCluster