Fix bug when used with pry-remote(drb environment).

See https://github.com/Mon-Ouie/pry-remote/issues/49 .
When we translate Proc object with drb, proc is wrapped with DRbObject.
In this case defined? proc.call is not delegated to proc self.
But proc.respond_to? :call is delegated to proc self.
So here it is better to check `proc.respond_to? :call`.
Merge pull request #102 from yui-knk/fix-completion_proc

Fix bug when used with pry-remote(drb environment).