This tentatively implements the following RFC:
https://discourse.llvm.org/t/rfc-clang-true-noexcept-aka-defaults-are-often-wrong-hardcoded-defaults-are-always-wrong/67629
The idea is that when the opt-in is specified,
we turn all EH Terminate scopes into EH UB scopes,
and don't emit any std::terminate() calls,
which is the user-facing change.
This probably needs better docs,
and might be missing some pieces.
We might be able to do more to omit more destructor calls.
This is missing UBSan bits, those will be in D137381.