[DOCS] Document the contracts of the RootMapper API.

Close #7400
More Like This Query: defaults to all possible fields for items

Items with no specified field now defaults to all the possible fields from the
document source. Previously, we had required 'fields' to be specified either
as a top level parameter or for each item. The default behavior is now similar
to the MLT API.

Closes #7382
[ENGINE] Force optimize was not passed to shard request

The force flag to trigger optimiz calls of a single segment for upgrading
etc. was never passed on to the shard request.

Closes #7404
Add toString() method to Segment.java for debugging purposes
[TEST] use a default host name if localAddress is not available

Closes #7409
[Tests] verifyThreadNames should account for new threads of shared cluster

The verifyThreadNames starts a node and checks that all new threads on the JVM are properly named. The current test uses the name of the new node which sometimes fails because our shared cluster spawns a new thread which is properly named but for not for the new name.

The commits relaxes the requirement of the test and on verify the threads are properly named (but not necessarily of the new node)
[TEST] use CFS consistently to not trigger single segment merge without force flag
Internal: made original indices optional for broadcast delete and delete by query shard requests

Shard requests like broadcast delete and delete by query, that needs to be executed on primary and all replicas, get read and written out to the transport on the same node. That means that if we add some field version checks are not enough to maintain bw comp since a newer node that holds the primary might receive the request from an older node, that didn't provide the field. Yet, when writing the request out again to a newer node that holds the replica, we do try and serialize the field although it's missing. The newer fields just needs to be set to optional in these cases, in addition to the version checks.

Re-enabled testDeleteByQuery and testDeleteRoutingRequired bw comp tests since this was the cause of their failures.

Closes #7406
[Tests] NoMasterNodeTests make timeout checks less sensitive

Also remove catching of MasterNotDiscoveredException in bulk operation it is only set on a per item basis
[Tests] testNodeVersionIsUpdated stopped but didn't close it's node
[TEST] use more verbose assertion in IndicesRequestTests
[TEST] Agg may not be a instance of StringTerms, but UnmappedTerms, so use common Terms class instead
Nested: If the `_type` field isn't indexed nested docs must be filtered out.
remove unused Strings utils methods
Add unit tests for script doc values on geo points.
add tests for Booleans.java
More ScriptDocValues.GeoPoints tests.
Randomize the fielddata cache type in integration tests.
Remove dead ScriptService code, randomize script cache settings
remove dead precondition code