[libcxx][type_traits] add tests for is_signed and is_unsigned

In previous versions of clang, __is_signed and __is_unsigned builtins did not
correspond to is_signed and is_unsigned behaviour for enums.  The builtins were
fixed in D67897 and D98104.

* Disable the fast path of is_unsigned for clang versions < 13

* Add more tests for is_signed, is_unsigned and is_arithmetic

Differential Revision: https://reviews.llvm.org/D97283

GitOrigin-RevId: 64595f9b84fa77a130085260b1b4e26a2756dce8
4 files changed