Improve ABCREM on 64-bits architectures

Array indexes can be 32-bits integers even on 64-bits
architectures. This causes most loops to fail Array Bounds Checking
REMoval because the index is sign-extended before the check (see
mini_emit_ldelema_1_ins).

Sign-extending an I4 to I8 preserves its value, hence it is possible
to propagate the relation between the variables.
Change System.Windows.Forms.DataVisualization PKT to match Windows.

This commit licensed as MIT/X11.
Avoid infinite loop in property getter.

This commit licensed as MIT/X11.
Merge pull request #858 from madewokherd/datavis

System.Windows.Forms.DataVisualization fixes
[gsharedvt] Avoid using the variable size code paths for non-variable size types with some array opcodes. Fixes #17023.
[mcs] Await flow analysis uses resolved expression. Fixes #16840
[mcs] Better check for value type base call. Fixes #16806
[mcs] Type arguments resolve failure needs to be reported after probing mode
[corlib] Update datetime patters. Fixes #17044
[runtime] Call mono_class_setup_methods () before accessing klass->method.count. Fixes #16883.
[runtime] Avoid RuntimeHelpers.EnsureSufficientExecutionStack () failing on windows. Works around #16776.
[jit] Emit calls to class init trampolines for fields accesses inside inline methods in AOT mode. Fixes #16461.
[sdb] Add async variants to the InvokeMethod methods.
Merge pull request #852 from ranma42/abc-64bits

Improve ABCREM
[jit] Fix the handling of OP_ISUB_IMM in abcrem.
[runtime] Fix yet another metadata problem with dynamically created types. Fixes #14977.
[jit] Save/restore all-callee saved registers in methods using some atomic opcodes on x86, since the opcode implementations use these registers, and the push/pop code used by these opcodes is not async safe, since the unwind code doesn't know about it. Fixes part of #16808.
New test
[mcs] Method group caching needs to consider type arguments as well. Fixes #17059
[System.Web] Clean up assembly level attributes.