These tests are ok but could be modernised a bit

- use `safeAwait` instead of awaiting the latch directly
- move assertions into handler, avoiding the need for `responseHolder`
- would it be better to use an `ActionListenerResponseHandler` rather than a raw `TransportResponseHandler`?
server/src/test/java/org/elasticsearch/action/admin/cluster/configuration/TransportClearVotingConfigExclusionsActionTests.java
private static ThreadPool threadPool;
    private static ClusterService clusterService;
    private static DiscoveryNode localNode, otherNode1, otherNode2;
    private static VotingConfigExclusion otherNode1Exclusion, otherNode2Exclusion;
    private TransportService transportService;
    private TransportAddVotingConfigExclusionsActionTests.FakeReconfigurator reconfigurator;
    @BeforeClass
    public static void createThreadPoolAndClusterService() {
        threadPool = new TestThreadPool("test", Settings.EMPTY);
        localNode = DiscoveryNodeUtils.create("local");
        otherNode1 = DiscoveryNodeUtils.builder("other1").name("other1").roles(emptySet()).build();
        otherNode1Exclusion = new VotingConfigExclusion(otherNode1);
        otherNode2 = DiscoveryNodeUtils.builder("other2").name("other2").roles(emptySet()).build();
        otherNode2Exclusion = new VotingConfigExclusion(otherNode2);
        clusterService = createClusterService(threadPool, localNode);
    }
    @AfterClass
    public static void shutdownThreadPoolAndClusterService() {