Make __call arguments required for consistency

Making the second argument optional presents difficulty with some testing libraries (namely Mockery) which subclasses a given class and overrides __call() *without* the second argument being optional. This gives a PHP error "Declaration must be compatible with that of {superclass}".

I did a `git blame` on the origin of these lines, apparently this is just how it's always been, there were no comments on why the second argument needed to be optional. The second argument is always provided by PHP, so there shouldn't be any need for a default.

This would make my life a lot easier, but if there's a reason for it then never mind. :smile: