[ObjC] Mark classes that shouldn't be subclassed as such.

Several of the classes vended by the runtime don't really support subclassing,
so mark them as such to get compiler enforcement just in case.

PiperOrigin-RevId: 505221732
diff --git a/objectivec/GPBUnknownFieldSet.h b/objectivec/GPBUnknownFieldSet.h
index 5901f18..8837f4c 100644
--- a/objectivec/GPBUnknownFieldSet.h
+++ b/objectivec/GPBUnknownFieldSet.h
@@ -39,7 +39,8 @@
  * of a message that are unknown end up in an instance of this set. This only
  * applies for files declared with the "proto2" syntax.
  **/
-@interface GPBUnknownFieldSet : NSObject <NSCopying>
+__attribute__((objc_subclassing_restricted))
+@interface GPBUnknownFieldSet : NSObject<NSCopying>
 
 /**
  * Tests to see if the given field number has a value.