[libc++] Make `std::numeric_limits<NonPromoted>::traps` `false` (#166724)

Per [LWG554](https://cplusplus.github.io/LWG/issue554), the rationale is
that even if `true / false` traps, the values causing trap are the
converted `int` values produced by usual arithmetic conversion, but not
the original `bool` values.

This is also true for all other non-promoted integer types. As a result,
`std::numeric_limits<I>` should be `false` if `I` is a non non-promoted
integer type.

Fixes #166053.

NOKEYCHECK=True
GitOrigin-RevId: e48f2be9422cb4956c87a243e118f5052d55092c
2 files changed