Docs: Updated the explanation about memory usage with parent/child
Docs: Updated stop token filter docs
[Test] testGetFields_complexField should wait for a green cluster

Waiting for ongoing recoveries was not good enough as it can run before the  master finishing processing the started events of primary shards, causing the recovery response to be erroneously empty
Docs: Added IDs to the highlighters for linking
[TEST] Improved logging for replica operation failures
Internal: Made base64 decode parsing to detect more errors

The base64 did not completely check, if there were other characters
after the equals `=` sign. This PR adds some small additional checks.

Closes #6334
[LOG] better log message
Add sandboxing for GString-based method invocation
Switch to Groovy as the default scripting language

This is a breaking change to move from MVEL -> Groovy
[TEST] Add assertion failure messages
Match query with operator and, cutoff_frequency and stacked tokens

If the match query with cutoff_frequency encounters stacked tokens,
like synonyms in the same position, it returns a boolean query instead
of a common terms query.  However, if the original operator was set
to "and", it was ignoring that and resetting the operator to "or".

In fact, if operator is "and" then there is little benefit in using
a common terms query as a must query is already
executed efficiently.
Be more diligent about ThreadPools having names

Add a name parameter to what was the empty ThreadPool constructor. Assert if the the ThreadPool's setting doesn't contain a name.
DOC:Added field data circuit breaker settings
Remove MVEL as a built-in scripting language
Add a transformer to translate constant BigDecimal to double
Upgrade to Lucene 4.9 (closes #6623)
[TEST] suppress sysout checks since CI runs with debug enabled
[TEST] when the test fail, have the exception message as the reason
the test failed but couldn't repro (yet), at the very least, make sure we have the exception message as the reason, can help to track down the failure itself when it happens again
Make sure we don't reuse arrays when sending and error back
We want to make sure recycling will not fail for any reason while trying to send a response back that is caused by a failure, for example, if we have circuit breaker on it (at one point), sending an error back will not be affected by it.
closes #6631
Thread pool rejection status code should be 429
Thread rejection should return too many requests status code, and not 503, which is used to also show that the cluster is not available
 relates to #6627, but only for rejections for now
closes #6629