[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.
Freebsd to use Mac NetworkInterface code instead of Linux NetworkInterface code
[proflog] Add counters sampling on profiler shutdown
[proflog] Add counters sampling on runtime initialized
[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.
Merge pull request #1392 from ludovic-henry/pr34-proflog-counters-sample-shutdown

[proflog] Add counters sampling on profiler shutdown and startup
Merge pull request #1390 from woodsb02/FreeBSDMacNetworkInterfaces

Freebsd to use Mac NetworkInterface code instead of Linux NetworkInterface code
Fix the android build.
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.
Revert "Disable building the NET 2.0 profile by default."

This reverts commit 458c9456f0960d62862fcb461b503c4ed8faf9f9.

This still breaks the build.
[runtime] Harden the profiler signal handlers against not fully attached threads and HP reentrancy.
[runtime] Changes mono_stack_walk_async_safe API to be truly async safe.

This is a very very tricky API, so we restrict the returned data to be what's really
possible under sig context.
[profiler] Fix statistical backtraces to work and collect as many frames as possible.

This is a jumbo commit that addresses multiple issues with statistical backtrace collection:

1) It's not possible to reliably collect MonoMethod* so we check that they exist before
serializing to the .mlpd file and retrieve in sync context.

2) It was reporting the generic instance MonoMethod* under gsharing. Those methods are
not reported to the profiler since they are never compiled. They would turn out as unknowns.

3) Collecting IL offsets from async context is currently impossible to be done safely, so it's
now disabled. The way we'll do it in the future is by serializing the sequence point table when
JIT'ing.

4) The way we used to collect frames in statistical ignored all frames until the first LMF, which
discards a lot of them under statistical mode. We now properly pass sigcontext and have it been consumed.
In the future we should simply use the callchain mode.