Restructure syntax branches in text format conformance tests.

This doesn't change the tests at all, but refactors them to be more reusable in different contexts.  Specifically, this will make it easier to add corresponding editions-based tests.  This also splits the concept of "uses a proto3 message" and "runs proto3 tests", in preparation for that change.

PiperOrigin-RevId: 574310612
diff --git a/conformance/conformance_test.h b/conformance/conformance_test.h
index bdc7a69..00559d9 100644
--- a/conformance/conformance_test.h
+++ b/conformance/conformance_test.h
@@ -19,6 +19,7 @@
 #include <string>
 #include <vector>
 
+#include "google/protobuf/descriptor.pb.h"
 #include "google/protobuf/util/type_resolver.h"
 #include "absl/container/btree_set.h"
 #include "absl/container/flat_hash_set.h"
@@ -200,6 +201,8 @@
 
     std::unique_ptr<Message> NewTestMessage() const;
 
+    std::string GetSyntaxIdentifier() const;
+
     std::string GetTestName() const;
 
     const conformance::ConformanceRequest& GetRequest() const {