This commit teaches libc++ about what features are available in our
LibC, namely:
- We do not have locale support, so no-op shims should be used in place of the C locale API.
- The number of errno constants defined by us is given by the value of the ELAST macro.
- Multithreading is implemented though the pthread library.
- Use libc++'s builtin character type table instead of the one provided by LibC as there's a lot of extra porting work to convince the rest of locale.cpp to use our character type table properly.
Depends on D154403