Under -std=c++20 with use of consteval, the subexpression hierarchy sometimes
contains ConstantExpr nodes that getConversionFunction did not expect.
CastExpr::getConversionFunction is very rarely used, so this was difficult to
trigger in the compiler. It is possible to reproduce using -ast-dump=json, which
triggers an assertion for inputs with consteval implicit casts.
In AST-based tools, however, it surfaces quite easily if they try to inspect the
conversion function of a visited CastExpr.
Add two new testcases, both for implicit constructor conversions and
user-defined conversions with consteval.
Depends on D117390
IgnoreImplicit() calls IgnoreImplicitSingleStep() eventually, and that call does the same work as skipImplicitTemporary(), so I think the end result here should be the same.