Fallback to object.method when necessary

Certain strangely built proxy objects can mess with out "no tampering" method lookup code, in those cases we'll try to perform the lookup the old fashioned way as a fallback, this was fixing #591 for me yesterday but for some reason I now can't replicate that, nor can I replicate it working on 2.14.2
Do you think this should be `rescue Exception`?  While it's normally a bad practice to rescue `Exception`, I think that the behavior here should raise the original error regardless of what kind of exception `object.method` raises.

Also, `object.method` could return a different kind of object...if it's not a `Method` should we raise the original exception as well?