[libc++][NFC] Move monostate to its own header.

The format library uses `std::monostate`, but not a `std::variant`.
Moving `std::monostate` to its own header allows the format library to
reduce the amount of included code.

Reviewed By: #libc, ldionne

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

NOKEYCHECK=True
GitOrigin-RevId: 321c2ea91cb1aed5dfbbdbb868d525ff64972398
diff --git a/include/module.modulemap b/include/module.modulemap
index eb4488b..c2e6564 100644
--- a/include/module.modulemap
+++ b/include/module.modulemap
@@ -735,6 +735,10 @@
   module variant {
     header "variant"
     export *
+
+    module __variant {
+      module monostate { header "__variant/monostate.h" }
+    }
   }
   module vector {
     header "vector"