Refactor `AbstractSimpleTransportTestCase` and `MockTransportService` to not use `Version.transportVersion` 
test/framework/src/main/java/org/elasticsearch/transport/AbstractSimpleTransportTestCase.java
String text = component.repeat(30);
            TransportRequestHandler<StringMessageRequest> handler = (request, channel, task) -> {
                assertThat(text, equalTo(request.message));
                try {
                    channel.sendResponse(new StringMessageResponse(""));
                } catch (IOException e) {
                    logger.error("Unexpected failure", e);
                    fail(e.getMessage());
                }
            };
            serviceA.registerRequestHandler("internal:sayHello", ThreadPool.Names.GENERIC, StringMessageRequest::new, handler);
            serviceC.registerRequestHandler("internal:sayHello", ThreadPool.Names.GENERIC, StringMessageRequest::new, handler);
            Settings settingsWithCompress = Settings.builder()
                .put(TransportSettings.TRANSPORT_COMPRESS.getKey(), Compression.Enabled.INDEXING_DATA)
                .put(
                    TransportSettings.TRANSPORT_COMPRESSION_SCHEME.getKey(),
                    randomFrom(Compression.Scheme.DEFLATE, Compression.Scheme.LZ4)
                )
                .build();
            ConnectionProfile connectionProfile = ConnectionProfile.buildDefaultConnectionProfile(settingsWithCompress);
            connectToNode(serviceC, serviceA.getLocalDiscoNode(), connectionProfile);
            connectToNode(serviceA, serviceC.getLocalDiscoNode(), connectionProfile);
            TransportResponseHandler<StringMessageResponse> responseHandler = new TransportResponseHandler<>() {
                @Override
                public StringMessageResponse read(StreamInput in) throws IOException {
                    return new StringMessageResponse(in);
                }
                @Override
                public String executor() {
                    return ThreadPool.Names.GENERIC;