Split the phases of EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing (#23013)
* Split the phases of EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing into separate private static functions.
* Combine native and managed-sequential field offset and size calculations (since they are the exact same algorithm)
* Remove TypeLayoutHelper because it's was only used in CalculateSizeAndFieldOffsets after having combined the offset/size calculations.
* Remove unused members in LayoutRawFieldInfo.
* Comment boolean parameter.
* Add comments to parameters.
* Remove unused prototypes.
* Make sure we consistently use managed in the managed paths and native in the native paths.
* Add to m_numCTMFields instead of setting it (need to make sure we account for fields in a non-trivial parent).
* Track native alignment in a field.
* Refactor field placement info to remove lots of repeated branching.
* PR Feedback.