[System]: Make ServicePointManager hash on the proxy as well as uri and use_connect.

This fixes #12640.
[compiler docs]: Update to reflect way to debug the parser
Change the linkage of 'mono_aot_personality' to Internal, otherwise older llvm generates code which cannot be assembled by clang.
Change the prolog of managed-to-native wrappers so they conform to the ios unwind abi too.
Add [Serializable] to X509Certificate2 (added in .NET 4.0) [#12457]
Emit dwarf line number info using .file/.loc assembler directives on osx. Fixes #12731.
Fix some bugs in 39471e0c672e8d0d7717b424473e70052a061b8e.
[corlib]String.IndexOf is culture aware, while String.Contains is not.
Implement the string allocator for sgen.
Enable managed allocation under gsharing.

We do that by using the NORMAL allocator instead of the SMALL allocator
as sizes might overflow at runtime.

The other change was to fix the GC api to take a MonoClass instead of a
MonoVTable.
When compiling gshared code, always use the cached isinst/castclass as it's faster than the cached one.