[libc++] Reformulate availability in terms of LLVM releases (#87563)

To make it easier to maintain the availability macros for both upstream
developers and vendors, this patch reformulates availability macros as a
function of the upstream LLVM release that a feature was introduced in.
This way, upstream developers can easily use the appropriate LLVM
version, and vendors can simply fill in the platform version(s) in which
a LLVM version landed.

GitOrigin-RevId: 182f5e9b2f034bf8a3a6dd8a80e8fe7d8292e411
1 file changed