[sgen-gray-queue] Add graystack stress test
[sgen-gray-queue] Change from index based to cursor based gray queue access to current element

This patch consist in changing the way we access the current element value in the gray queue. Before, we would save the index of the last element in the queue, then to access to the current value, we would have to make 2 memory access + 1 array offset access. Now we store a pointer to the current element, so we only need 1 memory access, thus reducing the number of memory indirection. We see ~25% speed improvement in major gc collection time on gc-graystack-stress test.
[sgen-gray-queue] Transform GRAY_OBJECT_(EN|DE)QUEUE to always inlined functions
[sgen-gray-queue] Add macros to compute first and last cursor position address on a section
[sgen-protocol] Avoid multiple inclusion of sgen-protocol.h
[sgen-binprot,sgen-gray-queue] Add binary_protocol_gray_(en|de)queue and call them on object enqueuing and dequeuing
[sgen-gray-queue] Remove compilation warning in mini-gc.c : redefinition of typedef 'mword'
[sgen-gray-queue] Add heavy statistics for allocation, and enqueue/dequeue fast/slow paths
[mcs] Fix local exits from try-finally scope with awaited statements
[corlib] Fix typo
[mcs] Emit correct attribute reference when async lambda ends up in nested type. Fixes #20849
[corlib] Update racy test
[Mono.Data.Sqlite] Add support for Scalar and Aggregate functions in Xamarin.iOS.
[System] Up the timeout in the BeginConnectMultiple test to 30s.

Most Linux systems have the net.ipv4.tcp_syn_retries sysctl
set to 5 or 6, so we need at least 30 seconds here.
Merge pull request #1128 from ludovic-henry/pr19g-sgen-grayqueue

[sgen-gray-queue] Use a cursor based accessing pattern to reduce memory indirection
[System] Make tests more descriptive on failure

By using StringAssert we get a more descriptive error message when the test fails, i.e. the expected vs. the actual string value instead of just true/false.
Merge pull request #1130 from akoeplinger/descriptive-tests

[System] Make tests more descriptive on failure
[jit] Portably decompose power-of-two OP_[IL]REM_IMM.

Instead of generating a sequence of AMD64 instructions for
power-of-two OP_[IL]REM_IMM, portably decompose them to intermediate
code.

OP_IREM_IMM is decomposed on 32 and 64 bit archs, OP_LREM_IMM only on
64 bit archs.
[sdb] Avoid running tests in the 2.0 profile.
Merge pull request #1131 from schani/feature-portable-fast-lrem-imm

[jit] Portably decompose power-of-two OP_[IL]REM_IMM.