[libc][support][UInt] implement 128b math helpers (#86531)

Flush out the remaining UInt<128> support and add test coverage.

We could have used cpp::popcount in the implementation of
UInt::has_single_bit, but
has_single_bit has a perhaps useful early return.
GitOrigin-RevId: 51f7b262425959d4e2bd6bc79fed283586d0472e
4 files changed