Support __call magic method on objects

This PR allows objects to have a magic __call() method as a catch-all for actions that aren't explicitly defined as methods.

This is a simpler way than my previous PR, which I will close (and Scrutinizer made a very good point which this patch avoids).
I wonder whether this was an edge case `&& method_exists($object, $method)` I added due to a bug. Not sure why the test passes then. Let me look into the PR's / issues.