Look before invoking extension methods.

The fact that `method_missing` swallows `NoMethodError` bites me every time I make some changes in an extension. This PR make it look if the method exists before invoking it, so that `NoMethodError`s raised lower in  the call stack are no longer silently discarded.

I do not know if anyone was relying in the current behaviour, but it would probably be safer to bump the major version for the next release if this PR gets merged.

@BlakeMesdag, @bouk, I don't really know who to ask for a review and you seem to have authored a few changesets recently in this repo. What do you think?