Fix try_run on pypy.

This is a continuation of the fix started in 192694ed for issue #783.
Pypy didn't like the tactic taken, so let's be a little more direct
about it.  We're expecting a function, and if we don't get it then we
want to look at the `__call__()` attribute.