Fixes commit 99204b75da5d59607683886989ece047e164f0ff
[System]: Make WebClient report an error when the download aborted prematurely.

On iOS, Stream.Read() returns 0 if you put the device to sleep while the
download is still running.  We now work around that by checking whether the
file has been fully downloaded.  Note that this only works if the server
included a Content-Length header.

Fixes #3924.
Update test
Fix order of capturing of this inside switch statement. Fixes #12544
Mutate generic catch block type when needed. Fixes #12799
Don't try to detect strndup on OS X; it is only available on 10.7+.
Merge pull request #670 from LogosBible/nostrndup

Don't try to detect strndup on OS X; it is only available on 10.7+.
Add some comments to the gsharedvt constrained call code.
Fix the LLVM JIT.
Upgrade llvm backend to match https://github.com/mono/llvm/commit/411ba3e5b299e841a9418d7fa18c48a2543248d2.
Don't make mono_tramp_info_create () assume ownership of its 'name' argument to avoid crashes if the caller passes in a static string.
Fix the build.
Mono now defaults to sgen. We now ship a libmonoboehm for those that need it.
Fix build due to boehm->sgen changes.
[sgen] Fix NALLOC_DEBUG.
[sgen] Fix string size calculation in the string alloc wrapper.

It turns out copying the size calculation code from boehm's string wrapper
was a bad idea as it does it incorrectly. The whole runtime calculates it as
"sizeof (MonoString) + (len + 1) * 2" and not  offsetof (MonoString, chars) + (len + 1) * 2".

This difference is 4 bytes on 64bits OSX and causes the world to crash.

It might be that we're over allocating here, but we must follow what everything else
expects us to do.
Do not throw, optionally, when facing an unknown OID. Fix mozroot facing an sha384ECDSA signed certificate)
[verifier] Verify if the catch type is valid under the method context. Fixes BXC #12898.
Add regression test for #12898.