Refactor `AbstractSimpleTransportTestCase` and `MockTransportService` to not use `Version.transportVersion` 
x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/transport/netty4/SimpleSecurityNetty4ServerTransportTests.java
Thread t = new Thread(() -> {
                try (Socket accept = SocketAccess.doPrivileged(socket::accept)) {
                    
                    int byteRead = accept.getInputStream().read();
                    assertEquals('E', byteRead);
                } catch (IOException e) {
                    throw new UncheckedIOException(e);
                }
            });
            t.start();
            ConnectionProfile.Builder builder = new ConnectionProfile.Builder();
            builder.addConnections(
                1,
                TransportRequestOptions.Type.BULK,
                TransportRequestOptions.Type.PING,
                TransportRequestOptions.Type.RECOVERY,
                TransportRequestOptions.Type.REG,
                TransportRequestOptions.Type.STATE
            );
            builder.setHandshakeTimeout(TimeValue.timeValueHours(1));
            Settings settings = Settings.builder().put("xpack.security.transport.ssl.verification_mode", "none").build();
            try (MockTransportService serviceC = buildService("TS_C", version0, settings)) {
                ConnectTransportException ex = expectThrows(
                    ConnectTransportException.class,
                    () -> connectToNode(serviceC, dummy, builder.build())
                );
                assertEquals("[][" + dummy.getAddress() + "] general node connection failure", ex.getMessage());
                assertThat(ex.getCause().getMessage(), startsWith("handshake failed"));
            }
            t.join();