Fixed missing Interlocked intrinsics in MSVC x86.

Patch previously contributed by Vincent Povirk.
Fixed return address intrinsics in MSVC.

Patch previously contributed Vincent Povirk, slightly updated due to some review feedback by Alex Petersen.
Fixed SGen qsort code to compile with MSVC.

MSVC does not understand C99, so we emulate it with some explicit allocas.
Explicitly define strtoull for MSVC releases previous to 2013.
[System] Include IndentedTextWriter in the mobile profile.

Fixes a build problem for Xamarin.iOS and besides there doesn't seem
to be any reason for it to not be included.
[mcs] Check for initially unassigned struct instance variables of unassigned structs.
[mkbundle] Remove no longer needed System.Reflection hack
[mkbundle] Make duplicate assembly name error tracking less painful
[amd64] Make seq_points clobber callee save registers. Fixes #17310.
[jit] Fix the freeing of AOT jump target lists. Fixes #17201.
[dlr] Fix UInt64 add/div
[dlr] Implement few missing interpreter instructions
New tests
Merge pull request #878 from tritao/master

MSVC build improvements
[runtime] Handle native size of structs with explicit layout and min alignment smaller than default packing. Fixes #4510

The calculating the native size of structs with explicit layout we need to take into consideration the minimum alignment
needed and the packing asked.

If no packing is supplied, we should respect the minimum alignment. If packing is supplied we should use the minimum required.
Follow up on return intrinsics tightening the preprocessor checks and using the declared version of the intrinsic instead of declaring it ourselves.

Addressing a post-commit review by @alexrp.