[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/GPBUnknownField.h b/objectivec/GPBUnknownField.h
index a188990..b2644b3 100644
--- a/objectivec/GPBUnknownField.h
+++ b/objectivec/GPBUnknownField.h
@@ -40,7 +40,8 @@
  * Store an unknown field. These are used in conjunction with
  * GPBUnknownFieldSet.
  **/
-@interface GPBUnknownField : NSObject <NSCopying>
+__attribute__((objc_subclassing_restricted))
+@interface GPBUnknownField : NSObject<NSCopying>
 
 /** Initialize a field with the given number. */
 - (instancetype)initWithNumber:(int32_t)number;