Adding Int128 and UInt128 with a base software implementation (#69204)
* Adding barebones Int128 and UInt128 structs
* Special case Int128 and UInt128 alignment on x64 Unix and Arm64
* Implementing Int128 and UInt128
* Adding tests for Int128 and UInt128
* Updating Int128/UInt128 to respect the System V ABI ordering
* Fixing an issue with UInt128->BigInteger setting the wrong sign
* Don't use Unsafe.As in the Int128/UInt128 hex parsing logic
* Adding Int128 P/Invoke tests and ensure R2R correctly sets the packing
* Fixing some issues with the Int128 interop test for non-Windows
* Ensure that floating-point conversions exist for Int128 and UInt128
* Fixing the casing of a couple fields
* Revert "Don't use Unsafe.As in the Int128/UInt128 hex parsing logic"
This reverts commit
09e8bfc52d5b1b7f7b341f318bf1046b19768dd3.
* Adjusting the Int128/UInt128 generic math tests to have consistent ordering
* Responding to PR feedback
* Ensure that pNativeLayoutInfo alignment is initialized for Int128/UInt128
* Don't use Unsafe.As in the Int128/UInt128 hex parsing logic
* Skip the Interop/PInvoke/Int128 tests on Mono