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/internal/impl/legacy_extension_test.go b/internal/impl/legacy_extension_test.go
index 13a2c6d..6ccfa40 100644
--- a/internal/impl/legacy_extension_test.go
+++ b/internal/impl/legacy_extension_test.go
@@ -18,7 +18,7 @@
 
 type legacyExtendedMessage struct {
 	XXX_unrecognized       []byte
-	XXX_InternalExtensions map[int32]pimpl.ExtensionFieldV1
+	XXX_InternalExtensions map[int32]pimpl.ExtensionField
 }
 
 func (*legacyExtendedMessage) Reset()         {}