[eval] Fix delegate; add caching for PrepareEmit

The delegate class did not use the internal cache flag as other type definitions which caused the next evaluation to fail.
[sgen] Fix cementing with concurrent M&S.

Cementing can happen during a concurrent collection when processing
the cardtable.  We use a separate cementing hash during concurrent
collections but we didn't pin objects from there.
[sgen] Fix build with heavy binary protocol.
[sgen] Implement a proper state machine for workers.

What we had previously was an impromptu state machine that was
badly implemented, hard to reason about, and not easily extensible.
[sgen] Remove `workers_marking` - workers are always marking.
[sgen] Stop concurrent worker during concurrent update and nursery collections.

The two collectors stepped on each other's toes.  Specifically, updating the mod union
card table while the worker thread might mark cards in the card table will not work.

The simplest solution for now is to stop the worker thread during concurrent updates
and nursery collections.  In the future we can have the thread help with the nursery
collection.
[sgen] Move heap checks before pinning.
[sgen] Add assertions.
[sgen] Optional check that the concurrent collector doesn't update references.
[sgen] Make `check-mark-bits` also scan nursery objects.
[sgen] When out of memory, finish concurrent with scanning whole nursery.  Fixes #23401.

If we run out of memory during the nursery collection in the finishing collection pause,
there will be late-pinned objects in the nursery: pinned objects that were not pinned
from conservative roots (or cementing).  We need to scan those, too, so in that case
we just walk the nursery and scan all objects.
[mdoc] Refreshed the en.expected.importecmadoc files to fix errors after the recent XML changes

The XML work in 661430fd1f052c5589bcd5d116f37b9ee4e27210 and bf39f5aec034800abcfe5e73a63ddd1414cb8078 changed the whitespace handling, so the mdoc test suite failed.
Refreshing the files makes them identical to what MS.NET produces and fixes the mdoc tests.
Remove some dead code.
[jit] Move the ppc sigctx<->monoctx conversion code to mono-context.c.
Merge pull request #1334 from ztone/delegate

Fix PrepareEmit error when evaluating delegates
[mcs] Encode more win32 version info attributes. Fixes #23981
Merge pull request #1393 from akoeplinger/refresh-mdoc-expected

[mdoc] Refreshed the en.expected.importecmadoc files to fix errors after the recent XML changes

Output was generated on .NET, and thus is canonical.
[jit] Use xmm5 as an fp scratch register on winx64.
[jit] Get rid of the mono_arch_sigctx_to_monoctx()/monoctx_to_sigctx () functions, use mono_sigctx_to_monoctx()/monoctx_to_sigctx() instead.
Disable building the NET 2.0 profile by default.