This tries to avoid extra calculations in D137040.
In that patch the extra completion strings were dropped at the client
site, after function parameters became available, to implement the
heuristic. However, we can make the process a bit more terse: In the
context where a call isn't required, we could teach the Sema to emit
the completion string without additional function parameters.
In addition, this patch adds support for function templates to
FunctionCanBeCall as well. In such context, we'd emit extra template
argument placeholders that help avoiding unresolved overloads error.
I guess an alternative to this patch would be to clear S.Signature here too?