Improve support for functools.partial of overloaded callable protocol (#18639)
Resolves #18637
Mypy's behaviour here is not correct (see test case), but this PR makes
mypy's behaviour match what it used to be before we added the
functools.partial plugin
Support for overloads tracked in #17585