Cleanup hardware exception handling (dotnet/coreclr#5916)
Currently, we were checking for the exception address being in a marked jit
helper and unwinding to the caller context if it was there at two places.
Once in the HandleHardwareException to get context for the faulting exception
frame and once in DispatchManagedException to get the first managed frame.
This change modifies the code in HandleHardwareException to update the context
record in the exception itself so that we can leave out the same change in
the DispatchManagedException.
I have also added updating of the exception address in the exception record
so that the exception address is set to be in the managed caller of the helper.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3651e5f3da9f72cde9b50078023430839fee7037