Only rescue specific no method errors in the dispatcher

In the service dispatcher, we're rescuing NoMethodError and returning an
RPC MethodNotFound error assuming that the method has been defined, but
not implmented. This is the correct behavior, but the implementation
catches all NoMethodError exceptions that are raised, which masks real
issues unrelated to the RPC method not being implemented.

Instead, only re-wrap NoMethodError exceptions if the message contains
the RPC method. Raise the original error if it doesn't.
Check if the service responds to the given method

Instead of catching all NoMethodErrors and checking the message for the
method name (which is brittle), simply check to see if the service
responds to the method. If it's not a publicly defined instance method,
raise an RPC MethodNotFound error.
Merge pull request #193 from localshred/surface_masked_errors

Only rescue specific no method errors in the dispatcher