c-family: Support format checking C2X %b, %B formats
C2X adds a %b printf format to print integers in binary (analogous to
%x, including %#b printing a leading 0b on nonzero integers), with
recommended practice for a corresponding %B (where %#B uses 0B instead
of 0b) where that doesn't conflict with existing implementation
extensions. See N2630 for details (accepted for C2X, not yet in the
latest working draft). There is also a scanf %b format.
Add corresponding format checking support (%b accepted by -std=c2x
-Wformat -pedantic, %B considered an extension to be diagnosed with
-Wformat -pedantic). glibc support for the printf formats has been
proposed at
<https://sourceware.org/pipermail/libc-alpha/2021-October/131764.html>
(scanf support to be done in a separate patch).
Note that this does not add any support for these formats to the code
for bounding the amount of output produces by a printf function,
although that would also be useful.
Bootstrapped with no regressions for x86_64-pc-linux-gnu.