Fix the osx exception port forwarding limitations.
Cleanup CThreadMachExceptionHandlerNode/CThreadMachExceptionHandlers.
Send forward exception, save thread info, restore thread back to faulting context and restart faulting instruction and forward.
Add MachExceptionInfo struct used to pass all the exception state around. Bump the IP back one when restarting breakpoint exceptions.
Match lldb exception port options. Found and fix bug with MACH_EXCEPTION_CODES behavior. Needed pack(4) around the exception message structs.
Cleaned up the _ASSERT, CHECK_MACH, FATAL_ERROR macros.
Dump the task level exception ports.
Add more checks to PAL SXS tests. Validate that the fault addr (ExceptionRecord.ExceptionInformation[1]) is correct. Check that a third party signal handler will be properly chained to.
Commit migrated from https://github.com/dotnet/coreclr/commit/
9f6654b6faec5730f71d6c547ea497e406ae4d47