Split libc++ and libc headers in toolchain_headers.bzl and be precise which header to pick as the public header. Right now we pick all the headers with basename in STD_HEADERS as public headers, and this is picking up too many headers in practice. For example time.h (which we will add in a followup) is present 3 times (includes/time.h, includes/sys/time.h, includes/linux/time.h) in our environment. PiperOrigin-RevId: 449462761