Fix off-by-one error in ArraySegment
TimeZone.GetUtcOffset should use Standard UTC offsets for the period when daylight savings ends.
Fixed a test failure that occurs when the specified font is not installed.

On systems where 'Liberation Sans' is not installed out-of-the-box
(e.g. Ubuntu Server, OpenSuse Server) it falls back to 'DejaVu Sans',
which makes the GetHashCode_NameDiffers_HashesNotEqual() test fail as
the two font names are now equal. Instead we use 'Arial' and 'Courier New'
which resolve to different fonts on most systems.

Changes licensed under MIT/X11.
[Bug 16267] SemaphoreSlim.Wait fix when no timeout

See https://bugzilla.xamarin.com/show_bug.cgi?id=16267
[jit] Avoid clearing MONO_INST_FAULT flags when using explicit null checks, LLVM can move the non-faulting loads before the null checks.
[jit] Handle the caller saved D8..D15 register during unwinding on ARM.
Don't register the LLVM SSE intrinsics on arm.
Upgrade the LLVM backend to LLVM e656caccc7dfb5c51c208906f0e176f0973f030f.
Bump expected LLVM version in configure.
Fix the previous commit.
[llvm] Use a pointer type as the type of 'this' instead of an int.
[llvm] Add some micro optimizations to the LLVM/AOT code.
[llvm] Collect used methods only in AOT mode.
[llvm] Disable the LLVM verifier, it does module wide checks leading to quadratic behavior.
[runtime] Avoid caching member_ref tokens of dynamic images. Fixes #16096

SRE encodes references to self-instantiated generic types in a different way
that regular code.

This is required as there's no clear way to differentiate between an open type
and a self-instantiated type when using System.Type.

Given that restriction, code that deals with loading such methods must take
special case and not cache then as the context under generic sharing will not
be used - so it would be seen as cacheable.

When using regular instantiation the same method lookup will require the context
to be used but will hit the cache before.

This is another problem of passing the instantiation context around. It messes
up with way too much stuff.
[bcl] Add regression test for bxc #16096.
[System] Add more of System.ComponentModel to MOBILE profile.

Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=16071

Improve compatibility of the MOBILE profile with Desktop .NET:
Add (nearly) everything from System.ComponentModel (and nested
namespaces) _except_ for things that depend on Licensing.

This includes System.ComponentModel.Design.HelpKeywordAttribute
(requested in Bug #16071), many many other attributes, more
exceptions, more EventArgs subclasses, etc.
[bcl]Set the culture of the thread local NumberFormatter everytime.

the problem of changing the culture when a new value is set in the current thread
is that is doesn't work well with CultureInfo.DefaultThreadCurrentCulture.
[bcl]Memoize the default culture so it can be reused across threads.
[bcl] Implement CultureInfo.DefaultThreadCurrentCulture.

The way DefaultThreadCurrentCulture is to be implemented is that its current value
will always be used by a thread that didn't set a value for its culture.

This means we can't cache DefaultThreadCurrentCulture value as it's allowed to
change and threads must always show the latest value.