The logic here is that we are disabling *only* things in std::ranges::.
Everything in std:: is permitted, including default_sentinel, contiguous_iterator,
common_iterator, projected, swappable, and so on. Then, we include
anything from std::ranges:: that is required in order to make those things
work: ranges::swap, ranges::swap_ranges, input_range, ranges::begin,
ranges::iter_move, and so on. But then that's all. Everything else (including
notably all of the "views" and the std::views namespace itself) is still
locked up behind _LIBCPP_HAS_NO_INCOMPLETE_RANGES.
Originally reviewed as https://reviews.llvm.org/D118736.
(cherry picked from commit 53406fb691db38b21decf233e091f648f8317b2d)