This is technically not necessary in most cases to prevent issues with ADL,
but let's be consistent. This allows us to remove the libcpp-qualify-declval
clang-tidy check, which is now enforced by the robust-against-adl clang-tidy check.
In #118710 we've added ``_LIBCPP_NODEBUG`` to all internal aliases, but
didn't actually document it. This patch adds documentation by adding the
new requirement and reasoning to the coding guidelines.
We have a buch of coding guidelines which are either documented as
design docs, which aren't really applicable or not at all. This moves
coding guidelines we have currently in the design docs into a separate
file and adds a bunch of guidelines which we have but aren't documented
anywhere.