[ARM] Add support for Windows SEH (#184953)
This commit implements Windows Structured Exception Handling (SEH)
support for ARM `clang` in MSVC mode.
This includes enabling the relevant language constructs in the Clang
frontend and adding new ARM-specific code lowering logic.
Since R11 is clobbered by the SEH dispatchers on 32-bit ARM Windows,
this commit forces functions involving SEH to reference stack variables
offset by R6 (the base pointer). Test coverage for scenarios this may
potentially affect (e.g. Windows C++ EH) has been added.
This commit only covers SEH (`__try`/`__except`/`__finally`). It does
not support Windows C++ EH (`try`/`catch`).