This implements most of the support for WG14 N2524 (https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2524.htm), which adds <string.h> to the list of headers required by a freestanding implementation.
We do not currently have builtins for memccpy, memset_explicit, or strtok, so those APIs are not yet exposed via our freestanding string.h. Further, we do not yet implement WG14 N3020 which changes the return type for some of the interfaces in string.h. So this patch does not claim full support for string.h yet (it adds the __STDC_VERSION_STRING_H__ macro but leaves its value as 202300L instead of 202311L as required by the standard).