[libc++][ranges] Implement `uninitialized_copy{,_n}` and `uninitialized_move{,_n}`.

Also implement `in_out_result` which is a prerequisite.

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

NOKEYCHECK=True
GitOrigin-RevId: 8d23b7420c92ddf8c3e5da39a90a1982fc72c231
diff --git a/include/module.modulemap b/include/module.modulemap
index 3ee19ab..305fe1b 100644
--- a/include/module.modulemap
+++ b/include/module.modulemap
@@ -246,6 +246,7 @@
       module generate                 { private header "__algorithm/generate.h" }
       module generate_n               { private header "__algorithm/generate_n.h" }
       module half_positive            { private header "__algorithm/half_positive.h" }
+      module in_out_result            { private header "__algorithm/in_out_result.h" }
       module includes                 { private header "__algorithm/includes.h" }
       module inplace_merge            { private header "__algorithm/inplace_merge.h" }
       module is_heap                  { private header "__algorithm/is_heap.h" }