Add llvm_cantFail macro, a drop in replacement for llvm::cantFail,
that adds source location, similar to assert, for !NDEBUG builds.
Refactor to extract error handling code and place it and new annotated
versions of cantFail that are called by the new macro in a detail
namespace, and change all instances in llvm to use the new macro.