[libc++][ranges] Implement `views::take`.

The view itself has been implemented previously -- this patch only adds
the ability to pipe it.

Also implements [P1739](https://wg21.link/p1739) (partially) and [LWG3407](https://wg21.link/lwg3407).

Differential Revision: https://reviews.llvm.org/D123600

NOKEYCHECK=True
GitOrigin-RevId: 9924d8d66ae103bee09387de3bef226d745807a8
diff --git a/include/module.modulemap b/include/module.modulemap
index 65e628d..6cf0467 100644
--- a/include/module.modulemap
+++ b/include/module.modulemap
@@ -919,6 +919,7 @@
     header "span"
     export ranges.__ranges.enable_borrowed_range
     export version
+    module span_fwd { private header "__fwd/span.h" }
   }
   module sstream {
     header "sstream"
@@ -950,6 +951,7 @@
     export initializer_list
     export __string
     export *
+    module string_view_fwd { private header "__fwd/string_view.h" }
   }
   module strstream {
     header "strstream"