[libc++] Move everything related solely to _LIBCPP_ASSERT to its own file

This is the first step towards disentangling the debug mode and assertions
in libc++. This patch doesn't make any functional change: it simply moves
_LIBCPP_ASSERT-related stuff to its own file so as to make it clear that
libc++ assertions and the debug mode are different things. Future patches
will make it possible to enable assertions without enabling the debug
mode.

Differential Revision: https://reviews.llvm.org/D119769
diff --git a/libcxx/src/string.cpp b/libcxx/src/string.cpp
index db7d7d5..9d1de0c 100644
--- a/libcxx/src/string.cpp
+++ b/libcxx/src/string.cpp
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include <__debug>
+#include <__assert>
 #include <cerrno>
 #include <charconv>
 #include <cstdlib>