This provides a macro that expands to builtin_debugtrap() for clang,
and debugbreak() for MSVC.
It intentionally expands to nothing for compilers that do not support a
similar mechanism that halts the debugger without otherwise crashing the
process.