[5.7-04182022][ConstraintSystem] A couple of `callAsFunction` fixes (#58795)
* [CSSimplify] Avoid filtering `init` overloads of a callable type
If there is a call to `init` on a callable type that has a trailing
closure, let's avoid filtering because it's impossible to tell whether
a trailing closure belongs to an `init` call or implicit `.callAsFunction`
that would be attempted after it.
Resolves: rdar://92912878
(cherry picked from commit d81007cf08214c500c8aa6253c93a0d3bb872e67)
(cherry picked from commit 4955e5179386baad74d472f0e799283c62e85695)
* [ConstraintSystem] Adjust `getCalleeLocator` to handle implicit `callAsFunction`
A call to `.callAsFunction` could be injected after initializer if the type is
callable, `getCalleeLocator` should recognize that situation and return
appropriate locator otherwise if `callAsFunction` has e.g. a result builder
attached to one of its parameters the solver wouldn't be able to find it.
Resolves: rdar://92914226
(cherry picked from commit f7c4ff68472392af542d1a01feda49b703874a03)
(cherry picked from commit 557d83cfc0aefb982e0d62698fe7733196288dd6)