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.