[runtime] Fix warnings.
[runtime] Handle unaligned access in all interlocked icalls. Fixes #15925.
[runtime]Split thread unregistration in two steps, one with no locks, one with locks taken. Fixes #15916.

In order allow for arbitrary code in the profiler callback we must invoke it without
holding any runtime leaf lock - this happens quite frequently with sdb as it tries to
suspend the world on those callbacks.

So thread shutdown is now split in two phases, first one that does the no-locks part
where the thread remains suspendable afterwards and then onewith locks taken where we
do the final cleanup and final shutdown.
Reduce contention and unnecessary checks at each lookup, part of xambug #14644.
[linker] Allow accessing more MarkStep.Mark* methods from subclasses
[runtime] Fix stack size detection on osx mavericks. Fixes #15890.
[runtime] Fix the osx mavericks stack size calculation in sgen too.
Further reduce the chance of an NRE in WebConnection, ref: 55f400b6446024adef5dcc8cc690b6951af98125