Fix race condition in WebConnectionStream

See https://bugzilla.xamarin.com/show_bug.cgi?id=1553
Add support for nullables to box/unbox in gsharedvt code.
Revert "Add beginnings of a managed IL disassembler which uses Mono.Cecil. Not yet part of the build."

This reverts commit 535e76a05898eb0bb62932f12c145ad02c215f64.

Revert this as we will be using something else.
Reverted whitespace changes
Merge pull request #631 from kebby/master

Fix race condition in System.Net.WebConnectionStream
Use the same code for aot alignment checks in aot-compiler.c and aot-runtime.c.
Move unload_data to the heap and it can outlive the initiator.

The unload thread stores TRUE to the done field when unloading
ends so the initiator can break out of the wait loop in case its
thread doesn't belong to the domain been unloaded but was still
aborted.

This means that the initiator could be gone when the unload
thread stores into the done field. This is now a random write
to the thread stack, which has a high chance of causing crashes.

The solution is to move the unload_data to the heap and refcount
it so we can release it safely.
Perform TLS offset detection during startup.

	* mono-suppport-x86.c (mono_mach_init): Probe TLS slots using an
	unlikely canary. Right now only two offsets are known.

	* mono-threads.c (mono_threads_init): Initialize mach from here
	as remote TLS reads are required for mono-threads to work.
Fix configure.in detection of -Wunused-but-set-variable support under clang.
Fix an unitialized variable bug.
Make test more robust against conservative stack scanning.
[System.Numerics] BigInteger.GCD(0,x) must return abs(x) instead of x

According to the docs and matching the behavior in .Net, BigInteger's
GreatestCommonDivisor must return the absolute value of the non-zero
parameter if one of the parameters is zero.

Contains a fix and extended unit tests to cover the case.
Fix a memory overwrite in the gsharedvt jit code.
Merge pull request #662 from cdrnet/fix-biginteger-gcd

[System.Numerics] BigInteger.GCD(0,x) must return abs(x) instead of x
slightly change missing monolite error message.

context: https://twitter.com/k1iguchi/status/345084575019577345
Fix more warnings/unitialized memory errors.
Make the MONO_DISABLE_SHARED_AREA env variable actually work. Fixes #12655.
Force the runtime on OSX to use a 8Mb stack.

This change doesn't affect any of the cats that default to 8Mb.

We need a significantly big main stack because mcs is implemented
in a recursive fashion and, right now, parts of the corlib test suite
require in excess of 1Mb of stack space to compile.
Introduce mono_runtime_init_tls to centralize all of the late runtime TLS initialization.

TLS initialization must be done as early as possible since runtime initialization
might be intermingled with 3rd party code running that sometimes create additional
slots. Those extra TLS slots do interfere with AOT compilation that might see a
different set of offsets when compiling than when running.

The current piece of problem is AOT image loading. If the AOT image is not found,
the dynamic linker in 10.9 will create a TLS slot to hold error data. AOT image
loading is triggered in between the creation of the runtime TLS slots.

Since AOT image loading never happens during compilation, the dynamic linker
would never create the slot and things would otherwise remain working.

The solution is to move all TLS initialization to before any assembly is loaded
and, transitively, AOT image loading.
Add TLS offset probing to mach-amd64 in the same way it's done on x86.