[libc++] Granularize includes of <optional> (#213433) Since `<optional>` is now granularized (7ded638ea33b96d9fd628e2a5cbc06df12ede153), include its individual pieces directly, instead of pulling in the whole `<optional>`. This change is also needed for #211888. GitOrigin-RevId: cad2ca9a775c094f8e0687f1e2414a2ea25e1487