[libc++] Granularize <utility> includes

Reviewed By: ldionne, #libc

Spies: EricWF, libcxx-commits, arphaman

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

NOKEYCHECK=True
GitOrigin-RevId: 52915d78f44bfc5add6cddc91d392fa343672897
diff --git a/include/array b/include/array
index 314d249..ce41921 100644
--- a/include/array
+++ b/include/array
@@ -115,13 +115,16 @@
 #include <__assert>
 #include <__config>
 #include <__tuple>
+#include <__utility/integer_sequence.h>
+#include <__utility/move.h>
 #include <__utility/unreachable.h>
 #include <iterator>
 #include <stdexcept>
 #include <type_traits>
-#include <utility>
 #include <version>
 
+#include <utility> // TODO: Remove this
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif