[threadpool] Add suspend pushing to a WSQ
[threadpool] Add heuristic to approach the optimal number of threads
[threadpool] Remove process_idle_times so monitor_thread is the only function to change the number of threads
[threadpool] Put the monitor thread to sleep if there has been no tasks for the past 5 seconds (NON_BUSY_INTERATION * SAMPLES_PERIOD)

This should improve a lot power consumption, because this avoir having a thread waking up every 500ms keeping the CPU awake.
[arm] Increase size of tls_get opcode to 24.
[corlib] Notify parent task when child task uses NotOnFaulted. Fixes #23594
[system.xml] Add missing 4.0 property
[system.xml] Make XmlSerializer work even when XmlTextReader has explicitly set its resolver
[runtime] Implement nursery canaries.
Use the new MONO_GC_DEBUG option "nursery-canaries"  to suffix each nursery object with a canary (guard) word, which is checked on each minor collection. Can be used to detect/debug
heap corruption issues.

Adding canaries to LOS is also easy if wanted - not sure about major heap.
[runtime] Convert String.InternalSetLength to an icall. Needed for canary support.
The change does not have a negative impact on StringBuilder performance; under variable-string-length microbenchmarks it seems to perform ~15-20% faster than the managed implementation.
[runtime] Implement 'nursery-canaries' option for SGen.
[runtime] Fix canary oops
[runtime] Silence a warning that has not helped us fix anything.
[bcl] Remove some verbose test output.
[sgen] Fix pointer access.

Thanks to @martinpotter for finding the bug.
Kill timed-out tests when using the managed test runner.
[runtime] Fix another lost canary change
Added missing files to projects csproj files.
Merge pull request #1179 from ludovic-henry/pr25-threadpool

[threadpool] Improve heuristic to approach optimal number of threads based on workload
[runtime] Take correct domain information from StackFrameInfo for each stack frame.