Use is_Function and callable() in Function._eval_subs
Use is_Function and callable() in Function._eval_subs

Previously, in an attempt to fix issue #11159, is_Function was changed to
isinstance(Function), but apparently substituting functions is supported. So
is substituting a function with a Lambda, so we can't use a subclass check.
Instead, just check that the old and new functions are callable, since that is
what is intended, and it fixes the bug.

madan96/sympy,madan96/sympy,kaushik94/sympy,jaimahajan1997/sympy,skidzo/sympy,skidzo/sympy,kaushik94/sympy,jaimahajan1997/sympy,yashsharan/sympy,kaushik94/sympy,yashsharan/sympy,madan96/sympy,skidzo/sympy,yashsharan/sympy,jaimahajan1997/sympy,chaffra/sympy,chaffra/sympy,chaffra/sympy