[libc++] Refactor<__type_traits/is_swappable.h> (#86822)

This changes the `is_swappable` implementation to use variable templates
first and basing the class templates on that. This avoids instantiating
them when the `_v` versions are used, which are generally less resource
intensive.

NOKEYCHECK=True
GitOrigin-RevId: cb417401879ce70b441a999c4a30f7b64b8d426b
27 files changed