[TEST] Added LongGCDisruption and a test simulating GC on master nodes
Also rename DiscoveryWithNetworkFailuresTests to DiscoveryWithServiceDisruptions which better suites what we do.
Discovery: Added cluster version and master node to the nodes fault detecting ping request

The cluster state version allows resolving the case where a old master node become unresponsive and later wakes up and pings all the nodes in the cluster, allowing the newly elected master to decide whether it should step down or ask the old master to rejoin.
[TEST] Make sure all shards are allocated before killing a random data node.
Typo: s/Recieved/Received
Transport: Introduced worker threads to prevent alien threads of entering a node.

Requests are handled by the worked thread pool of the target node instead of the generic thread pool of the source node.
Also this change is required in order to make GC disruption work with local transport. Previously the handling of the a request was performed on on a node that that was being GC disrupted, resulting in some actions being performed while GC was being simulated.
[TEST] Remove the forceful `network.mode` setting in  DiscoveryWithServiceDisruptions#testMasterNodeGCs now local transport use worker threads.