ResolveConstructorOverload needs to check properly if we are going to use copy elision we can't use a conversion function.
This fixes:
https://github.com/llvm/llvm-project/issues/39319
https://github.com/llvm/llvm-project/issues/60182
https://github.com/llvm/llvm-project/issues/62157
https://github.com/llvm/llvm-project/issues/64885
https://github.com/llvm/llvm-project/issues/65568
I added this fix because the B3 test case I added below although was fixed by my patch it uncovered a new bug that resulted in the compiler locking up.
It looks like the malformed code results in a us seeing a ClassTemplateDecl where we would usually not expect it. If this handled better earlier let me know.