Support !JitDoOldStructRetyping on other platforms. (#35943)
* Add more test cases.
* Initialize `ReturnTypeDesc` when we keep struct types.
* Add a few const modifiers.
* Additional checks in `LowerRet`
* Support `return double(cnst int)`.
* Optimize `LowerRetStruct`: no need for bitcast when read from memory.
* Prepare `LowerNode` for store local and local field to multireg.
* Compile the new methods with FEATURE_MULTIREG_RET.
* Improve `LowerRetStructLclVar`.
Don't use bitcast if the source is in memory or has the same type.
* Extract `LowerStoreLocCommon`.
* Support 3, 5. 6, 7 bytes structs in `LowerCallStruct`.
Move call handling to the users.
* Disable `JitDoOldStructRetyping` for x86 and x64.
Windows x64 was supported in a previous PR, this adds x86 (Windows and Linux) and x64 Unix.
* Fix suggestions.
* Disable by default for the merge.