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.
[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
[corlib] Fix LogicalCallContext to be available on new Threads/Tasks/Thread-pool items
[corlib] Added System.Security.Claims API
[API] Added some Attributes to System.ComponentModel.DataAnnotation

added BindableTypeAttribute and UrlAttribute.
[API] added MembershipPasswordAttribute to System.Web

added reference to System.ComponentModel.DataAnnotation
[API] added missing System.Web.Management classes
[API] Added a lot of missing implementations required for MVC5+EF6
[API] Fixed a lot of bugs in the async pipeline implementation.

Implemented dynamic module loading support.
Set the current context to null after finishing the work.
Do not reuse a HttpApplication instance when a inner module has thrown an exception.