Revert "Include Threading.h instead of forward declaring a function."

This reverts commit e0d89ff76414a1369c54fbd261308e1c313548d7.
Revert "Fix build on non-Windows platforms."

This reverts commit ab19aae90fc10bab660ceb3d426f31a3cb66d99e.
Revert "Remove support for LLVM runtime multi-threading."

This reverts commit a4d0ff9cd1fb3fe4c3a58d0747dc523f7d9e9e3f.
Revert "Kill the LLVM global lock."

This reverts commit 761f33167f2ae180dddcf48abcfcc3ead0c2d219.
Revert "Replace Execution Engine's mutex with std::recursive_mutex."

This reverts commit 1f502bd9d7d2c1f98ad93a09ffe435e11a95aedd.