[libc++][nfc] Move iterator_traits and related into __iterator/iterator_traits.h.

Based on D100682 and D99855.

(Note: I originally was going to just make this part of D99855, but I decided not to because this patch moves lots of unrelated code around, and I didn't want to make D99855 harder to review because of unrelated code-changes/moves.)

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

GitOrigin-RevId: 120fa8293e22f760374a5757d081dc674046e0f0
3 files changed