[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

GitOrigin-RevId: 8d23b7420c92ddf8c3e5da39a90a1982fc72c231
24 files changed