Libc++ tried accomodating systems that need to be able to define various
__need_FOO macros before including C library headers, however it does not
appear to be needed anymore in most cases. Indeed, glibc used to use that
system to conditionally provide definitions, however almost all instances
of these macros have been removed from glibc years ago.
This is a reapplication of 119cef40d18c, which was reverted in 3f65c8fcbe4e
because it broke some builders.
Why not <cstddef> like we do everywhere else?