[sgen] Fix the merging code.

The right behavior is that the loop move values up to the original size
and them the store after the loop store past it.

Let's see the last 2 iterations:

//i == size - 1 (value = array[size - 2], tmp = array [size - 1])
dyn_array_int_set (array, size, value); //ok
value = tmp; //ok
tmp = dyn_array_int_get (array, i + 1); //tmp has an unknown value, as the last element was never stored to.

//i == size (value = array[size - 1], tmp = array [size])
dyn_array_int_set (array, size, value); //This sets the last element to the right value
value = tmp; //value is undefined, as tmp has
tmp = dyn_array_int_get (array, i + 1); //this is an out-of-bounds read as we're reading 2 elements past the end.

The after the loop store (tmp = array [size + 1]):
dyn_array_int_set (array, size + 1, tmp); //This sets the last element to an unknown value.

With the fix on the last iteration is - 1. The post store will use value, which has
the right value (array [size - 1]).
Fix a race condition in the test suite.
Correct spelling DEFAULT_ACCESS_MODIFER -> DEFAULT_ACCESS_MODIFIER
[thread] Only register a dead letter if the current NSThread is non-null.

This breaks all embedder that don't link with CoreFoundation. In mono's case, monodis.
[boehm] Fix memory management for toggleref.

Replace GC_free with GC_INTERNAL_FREE. The former might take the GC lock
and deadlock us.

Replace GC_INTERNAL_MALLOC with GC_INTERNAL_MALLOC_IGNORE_OFF_PAGE as
we don't need the rest of the GC messing around with the toggleref array.
WebResponse.cs: Implement SupportsHeaders property
System/PCL: Implement HttpWebRequest.SupportsCookieContainer, WebRequest.CreateHttp;   Fixes #18378
Merge pull request #953 from rcook/p-rcook-correct-spelling

Correct spelling DEFAULT_ACCESS_MODIFER -> DEFAULT_ACCESS_MODIFIER
Bump mono version.
[runtime] Fix make install when boehm is disabled.
[sgen] Restore hazard pointers in suspend signal handler.  Fixes #15695.