Add unit test for NZST
Attempt to implement GetTimeZoneData to support all hemispheres
Fix compile warning and break from for loop once complete
Return empty result array when calling Task.WhenAllCore<T> with empty argument list. Fixes #15956
Added tests for Task.WhenAll w/ empty list
[runtime] Preserve the call chain in mono_arch_setup_async_callback () on amd64 to prevent crashes in the libgcc unwinder (#15969).
[monolinker] Add additional preserve instruction for IReadOnlyCollection on System.Array
[runtime] Only do the stack manipulation added by 79e0856ffda4c2566314ba31677fe55f2d7f53f2 on linux, since it seems to crash on osx.
[runtime] Remove some debug spew.
[jit] Implement support for OP_TLS_GET on amd64+llvm.
[jit] Fix sgen support in LLVM. Use the new LLVM 'invariant.load' metadata instead of our 'mono.noalias' metadata.
[jit] Remove a few LLVM_MONO_BRANCH defines, we don't support non-mono versions of LLVM any more.
Merge pull request #800 from alistair/south_timezone_fix

Southern Hemisphere timezone fix
fix package build.
[Mono.Tuner] Make ISubStep.Initialize public virtual instead of private, so that consumers can override.

Previously derived classes could implement ISubStep.Initialize, but after
da82237da061cf this (correctly) not allowed anymore.
[jit] Make ABCREM really remove bounds checks, not just when running with -v -v -v -v.
[jit] Remove references to unused llvm.invariant.start/end intrinsics.
Fix an NRE in System.Timers.Timer.Dispose ().

This would happen because _lock is nullified by the GC during
finalization. Dispose () calls Close () which sets the Enabled
property to false, which then attempts to lock on _lock.
Improve my previous change a bit.

Checking the `disposing` argument is cleaner.
System.CompomentModel.Component.cs: Make disposedEvent key static

There is no need for an instance of Component to create its own lookup key for the Disposed event. Use a shared static key instead.