Fix race condition in WebConnectionStream

See https://bugzilla.xamarin.com/show_bug.cgi?id=1553
Add specialized memcpy/bzero methods to String which are called from gsharedvt code.
Handle shifts by multiple of 32 correctly. Fixes #10887.
Optimize generated gsharedvt code: Load information from the gsharedvt_info variable instead of using an rgctx fetch trampoline, use optimized memcpy/bzero methods.
Allow the gsharedvt info/local vars to be register allocated.
[PCL]: System.Windows and System.Xml.Serialization are no Facade Assemblies.
Better handle default value BigInteger. Fixes #11945
Fix delegate combine when left side has already been invoked.
Fix new BigInteger().GetHashCode() to not throw.
Allow Nullable.Box/Unbox to be compiled as gsharedvt methods.
Fix the arm build.
Add System.Net to runtime remapping list.
Bump ikvm to 10b8312c8024111780ee382688cd4c8754b1f1ac.
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.