internal/legacy: use v2 proto.Unmarshal

The v2 decoder isn't 100% complete, but it's good enough.
Delete the vendored copy of the v1 Unmarshal implementation.

Change-Id: Ibeabbb2e9109a1ec3df57e71f98b7aa4a583fc5b
Reviewed-on: https://go-review.googlesource.com/c/154577
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
diff --git a/internal/legacy/file.go b/internal/legacy/file.go
index 606327f..d2a75c4 100644
--- a/internal/legacy/file.go
+++ b/internal/legacy/file.go
@@ -10,11 +10,7 @@
 	"io/ioutil"
 	"sync"
 
-	// TODO: Avoid reliance on old API. However, there is currently a
-	// chicken and egg problem where we need the descriptor protos to implement
-	// the new API.
-	protoV1 "github.com/golang/protobuf/v2/internal/legacy/protoV1"
-
+	"github.com/golang/protobuf/v2/proto"
 	pref "github.com/golang/protobuf/v2/reflect/protoreflect"
 	descriptorpb "github.com/golang/protobuf/v2/types/descriptor"
 )
@@ -62,7 +58,7 @@
 	}
 	// TODO: What about extensions?
 	// The protoV1 API does not eagerly unmarshal extensions.
-	if err := protoV1.Unmarshal(b, m); err != nil {
+	if err := proto.Unmarshal(b, m); err != nil {
 		panic(err)
 	}
 	fileDescCache.Store(&b[0], m)