Refactor `AbstractSimpleTransportTestCase` and `MockTransportService` to not use `Version.transportVersion` 
test/framework/src/main/java/org/elasticsearch/transport/AbstractSimpleTransportTestCase.java
int value2;
        Version1Request() {}
        Version1Request(StreamInput in) throws IOException {
            super(in);
            if (in.getTransportVersion().onOrAfter(version1.transportVersion)) {
                value2 = in.readInt();
            }
        }
        @Override
        public void writeTo(StreamOutput out) throws IOException {
            super.writeTo(out);
            if (out.getTransportVersion().onOrAfter(version1.transportVersion)) {
                out.writeInt(value2);
            }
        }
    }
    static class Version0Response extends TransportResponse {
        final int value1;
        Version0Response(int value1) {
            this.value1 = value1;
        }
        Version0Response(StreamInput in) throws IOException {
            this.value1 = in.readInt();
        }
        @Override
        public void writeTo(StreamOutput out) throws IOException {
            out.writeInt(value1);
        }
    }
    static class Version1Response extends Version0Response {