Allow implementations to provide complete definitions of
std::tuple_size<T>, but to omit the 'value' member to signal that T is
not tuple-like. The Microsoft standard library implements
std::tuple_size<const T> this way.
If the value member exists, clang still validates that it is an ICE, but
if it does not, then the type is considered to not be tuple-like.
Fixes PR33236
In the reproduction of https://bugs.llvm.org/show_bug.cgi?id=33236 there is explicit mentioning of const T. It would be nice if the test cases for this fix would also have coverage for that.