Refactor `AbstractSimpleTransportTestCase` and `MockTransportService` to not use `Version.transportVersion` 
test/framework/src/main/java/org/elasticsearch/transport/AbstractSimpleTransportTestCase.java
private final int id;
            private final String executor = randomBoolean() ? ThreadPool.Names.SAME : ThreadPool.Names.GENERIC;
            TestResponseHandler(int id) {
                this.id = id;
            }
            @Override
            public TestResponse read(StreamInput in) throws IOException {
                return new TestResponse(in);
            }
            @Override
            public void handleResponse(TestResponse response) {
                logger.debug("---> received response: {}", response.info);
                allRequestsDone.countDown();
            }
            @Override
            public void handleException(TransportException exp) {
                logger.debug((Supplier<?>) () -> "---> received exception for id " + id, exp);
                allRequestsDone.countDown();
                Throwable unwrap = ExceptionsHelper.unwrap(exp, IOException.class);
                assertNotNull(unwrap);
                assertEquals(IOException.class, unwrap.getClass());
                assertEquals("forced failure", unwrap.getMessage());
            }
            @Override
            public String executor() {
                return executor;
            }
        }
        for (int i = 0; i < iters; i++) {