This makes Clang use the MS ABI by default when targeting Win32.
In addition to being a sensible default, this also improves the test coverage for the MS ABI: any bot that targets Win32 will now run the tests in MS ABI mode by default.
I plan to commit this in two steps: test updates first, and functionality change second so that it can be reverted separately if needed.
Why do we do the access check in the callee under the MS ABI? We can still do dtor access checks in the caller, even though we actually make the call in the callee, can't we? Presumably MSVC redundantly checks access in both places?
(Do we need to omit the access checking in the caller for compatibility somehow?)