Refactor how TLS versions get enabled

This brings it closer in line to how QUIC_VERSION_99 is handled and sets up the
flag to be switched to a reloadable flag (blocked on being enabled). In particular,
AllSupportedVersions() now returns versions that include PROTOCOL_TLS1_3 for the
handshake_protocol.

When a TLS version is in use, it is safe to assume that
ParsedQuicVersion::KnowsWhichDecrypterToUse always returns true. This is because
KnowsWhichDecrypterToUse is enabled for QUIC_VERSION_47 and above, while TLS versions
only exist when CRYPTO frames are in use, which is currently only transport version 99.

gfe-relnote: refactor of TLS version code; protected by quic_supports_tls_handshake
PiperOrigin-RevId: 250599516
Change-Id: Ibfe68d74089ce29edeee219671c81e1643702000
diff --git a/quic/tools/quic_simple_server_session_test.cc b/quic/tools/quic_simple_server_session_test.cc
index 58c98dd..aa2defa 100644
--- a/quic/tools/quic_simple_server_session_test.cc
+++ b/quic/tools/quic_simple_server_session_test.cc
@@ -205,6 +205,7 @@
                        TlsServerHandshaker::CreateSslCtx()),
         compressed_certs_cache_(
             QuicCompressedCertsCache::kQuicCompressedCertsCacheSize) {
+    SetQuicFlag(FLAGS_quic_supports_tls_handshake, true);
     config_.SetMaxIncomingBidirectionalStreamsToSend(kMaxStreamsForTest);
     QuicConfigPeer::SetReceivedMaxIncomingBidirectionalStreams(
         &config_, kMaxStreamsForTest);