This change uses the existing build configuration parameter ENABLE_BACKTRACE to compile out all pretty stack trace support when backtraces are disabled.
This has the nice secondary effect of allowing LLVM to continue to build for targets without __thread or thread_local support to continue to work so long as they build without support for backtraces.
Start this before the big comment block and give it its own comment indicating that this is used to avoid using thread locals where possible?