internal/value: fix GoValueOf for v2 message types

Was using a pref.Message where we want a pref.ProtoMessage.

Change-Id: I61d986a43eaf8f945a1378a7a10120474aa89d6f
Reviewed-on: https://go-review.googlesource.com/c/153697
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
diff --git a/internal/value/convert.go b/internal/value/convert.go
index 5f4109a..81984b0 100644
--- a/internal/value/convert.go
+++ b/internal/value/convert.go
@@ -171,7 +171,7 @@
 					return pref.ValueOf(v.Interface())
 				},
 				GoValueOf: func(v pref.Value) reflect.Value {
-					rv := reflect.ValueOf(v.Message())
+					rv := reflect.ValueOf(v.Message().Interface())
 					if rv.Type() != t {
 						panic(fmt.Sprintf("invalid type: got %v, want %v", rv.Type(), t))
 					}