Jit: use class attributes check to reduce GC layout asks
In `impNormStructType`, check the class attributes for absence of gc
pointers as a quick way of identifying likely SIMD types. Use SIMD max
and min size as a secondary screen.
Only request GC layout if the caller has asked for it.
This should reduce the number of times the jit makes the somewhat
costly ask for struct GC layouts.
Note that typed byrefs require special handling; also the class
attributes may sometimes report GC pointers when in fact there are none.
No diffs in System.Private.CoreLib codegen; no diffs seen in desktop
SPMI testing.
Closes dotnet/coreclr#7625.
Commit migrated from https://github.com/dotnet/coreclr/commit/
77ed974d759b488a266cea54a1c4278c2664d130