all: fast-path method refactoring

Move all fast-path inputs and outputs into the Input/Output structs.
Collapse all booleans into bitfields.

Change-Id: I79ebfbac9cd1d8ef5ec17c4f955311db007391ca
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/219505
Reviewed-by: Joe Tsai <joetsai@google.com>
diff --git a/internal/impl/codec_field.go b/internal/impl/codec_field.go
index 98992e7..bc998d3 100644
--- a/internal/impl/codec_field.go
+++ b/internal/impl/codec_field.go
@@ -285,7 +285,7 @@
 		return out, err
 	}
 	out.n = n
-	out.initialized = o.Initialized
+	out.initialized = o.Flags&piface.UnmarshalInitialized != 0
 	return out, nil
 }
 
@@ -428,7 +428,7 @@
 		return out, err
 	}
 	out.n = n
-	out.initialized = o.Initialized
+	out.initialized = o.Flags&piface.UnmarshalInitialized != 0
 	return out, nil
 }
 
@@ -559,7 +559,7 @@
 	}
 	p.AppendPointerSlice(pointerOfValue(mp))
 	out.n = n
-	out.initialized = o.Initialized
+	out.initialized = o.Flags&piface.UnmarshalInitialized != 0
 	return out, nil
 }
 
@@ -621,7 +621,7 @@
 	}
 	list.Append(m)
 	out.n = n
-	out.initialized = o.Initialized
+	out.initialized = o.Flags&piface.UnmarshalInitialized != 0
 	return listv, out, nil
 }
 
@@ -688,7 +688,7 @@
 	}
 	list.Append(m)
 	out.n = n
-	out.initialized = o.Initialized
+	out.initialized = o.Flags&piface.UnmarshalInitialized != 0
 	return listv, out, nil
 }
 
@@ -773,7 +773,7 @@
 	}
 	p.AppendPointerSlice(pointerOfValue(mp))
 	out.n = n
-	out.initialized = o.Initialized
+	out.initialized = o.Flags&piface.UnmarshalInitialized != 0
 	return out, nil
 }