Data corruption using SslStream (Xamarin bug 15293)

When reading and writing data at the same time over an
System.Net.Security.SslStream, an exception will be thrown often.
Usually the exception is: Mono.Security.Protocol.Tls.TlsException “Bad
record MAC”

The issue is that the single TlsCipherSuite instance used for both
reading and writing does not synchronize access to the “header” member.
If the contents get corrupted the MAC calculation returned by
ComputServerRecordMAC or ComputeClientRecordMAC is incorrect.

See https://bugzilla.xamarin.com/show_bug.cgi?id=15293. Reproduced in
OS X, iOS and Windows.
[jit] Implement proper tail call support on arm. Fixes #17654.
[jit] Fix an uninitialized memory problem in the soft-float code.
[jit] Allow inlining of calls to method with the AggressiveInlining attribute in aot mode.
Merge pull request #929 from edbprx/master

Data corruption using SslStream (Xamarin bug 15293)
[jit] Avoid forcing initlocals to TRUE when the 'unsafe' optimization flag is set. Fixes #18068.
[jit] Add LLVM support for the new OP_DUMMY_ opcodes.
This is a .NET 4.5 test.
[mcs] Mark switch statement block scope statements as reachable. Fixes #18092
[llvm] Fix a memory leak.
[llvm] Fix a memory leak.
[llvm] Fix more memory leaks.
[jit] Add support for the new DUMMY_ opcodes to the arm backend.
[llvm] Make the 'llvm_types' hashtable per-domain to fix memory leaks.
[llvm] Remove some debug spew.
Fix the build.
[llvm] Create separate MonoLLVMModule and an LLVM execution engine for each appdomain so they can be freed when the appdomain is unloaded. Part of the fix for #18083.
[runtime] Fix a memory leak.
[runtime] Fix the cross-compiler build.
[corlib] Seal InternalThread