internal/impl: abstract away ExtensionDescV1 as the underlying descriptor

Add ExtensionField.{SetType,GetType} to hide the fact that the underlying
descriptor is actually an ExtensionDescV1.

Change-Id: I1d0595484ced0a88d2df0852a732fdf0fe9aa232
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/180538
Reviewed-by: Damien Neil <dneil@google.com>
diff --git a/runtime/protoimpl/impl.go b/runtime/protoimpl/impl.go
index fac3cfc..e28bfc2 100644
--- a/runtime/protoimpl/impl.go
+++ b/runtime/protoimpl/impl.go
@@ -62,11 +62,11 @@
 	FileBuilder = fileinit.FileBuilder
 
 	// TODO: Change these to more efficient data structures.
-	ExtensionFields = map[int32]impl.ExtensionFieldV1
+	ExtensionFields = map[int32]impl.ExtensionField
 	UnknownFields   = []byte
 	SizeCache       = int32
 
-	ExtensionFieldV1 = impl.ExtensionFieldV1
+	ExtensionFieldV1 = impl.ExtensionField
 )
 
 var X impl.Export