Makes sure the formatter for the vector<bool>::reference is enabled
when only the header <vector> is included. Before this change it
required <vector> and <format> to be included. This violated the
requirements in the Standard.
Fixes: https://llvm.org/PR61314
Which ones would we need to remove in order not to have this workaround? I think it might be reasonable to take the hit -- usually our stance is that we try not to remove transitive includes just for the sake of it, however when those transitive includes are a blocker to our work, we remove them. So IMO it would be reasonable to remove the transitive includes causing problems here, unless the impact is really too big.