Refactor `AbstractSimpleTransportTestCase` and `MockTransportService` to not use `Version.transportVersion` 
x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/transport/netty4/SimpleSecurityNetty4ServerTransportTests.java
sslServerSocket.setSSLParameters(sslParameters);
            SocketAccess.doPrivileged(() -> sslServerSocket.bind(getLocalEphemeral()));
            new Thread(() -> {
                try {
                    SSLSocket acceptedSocket = (SSLSocket) SocketAccess.doPrivileged(sslServerSocket::accept);
                    
                    int byteRead = acceptedSocket.getInputStream().read();
                    assertEquals('E', byteRead);
                    latch.countDown();
                    IOUtils.closeWhileHandlingException(acceptedSocket);
                } catch (IOException e) {
                    throw new UncheckedIOException(e);
                }
            }).start();
            InetSocketAddress serverAddress = (InetSocketAddress) SocketAccess.doPrivileged(sslServerSocket::getLocalSocketAddress);
            Settings settings = Settings.builder().put("xpack.security.transport.ssl.verification_mode", "none").build();
            try (MockTransportService serviceC = buildService("TS_C", version0, settings)) {
                HashMap<String, String> attributes = new HashMap<>();
                attributes.put("server_name", sniIp);
                DiscoveryNode node = new DiscoveryNode(
                    "server_node_id",
                    new TransportAddress(serverAddress),
                    attributes,
                    DiscoveryNodeRole.roles(),
                    Version.CURRENT
                );
                new Thread(() -> {
                    try {
                        connectToNode(serviceC, node, TestProfiles.LIGHT_PROFILE);
                    } catch (ConnectTransportException ex) {