[ADT, Support] Use std::bool_constant (NFC) (#158503)
This patch replaces, std::integral_constant<bool, ...> with
std::bool_constant for brevity. Note that std::bool_constant was
introduced as part of C++17.
There are cases where we could strip away std::bool_constant
altogether:
std::bool_constant<std::is_same<T, U>>
but I'm not doing that in this patch to avoid doing multiple things in
one patch.