This patch adds a test case to ensure that every library header uses the correct visibility macros.
libc++ headers should use _LIBCPP_* macros whereas libc++experimental headers should use _LIBCPPX_* macros.
This was originally part of D37182, but it's been taken out for separate review as requested.
It's dependent on the aforementioned patch; the test will fail until that patch has been applied.