internal/impl: refactor fast-path

Move data used by the fast-path implementations into a substructure of
MessageInfo and initialize it separately.

Change-Id: Ib855ee8ea5cb0379528b52ba0e191319aa5e2dff
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/184077
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
diff --git a/internal/impl/isinit.go b/internal/impl/isinit.go
index 972eb85..29f9ad8 100644
--- a/internal/impl/isinit.go
+++ b/internal/impl/isinit.go
@@ -34,7 +34,7 @@
 			return err
 		}
 	}
-	for _, f := range mi.fieldsOrdered {
+	for _, f := range mi.orderedCoderFields {
 		if !f.isRequired && f.funcs.isInit == nil {
 			continue
 		}