Fix Bundler::which

Bundler::which doesn't return nil if the argument is a name of
directory.  This is because File::executable? returns true when its
argument is a name of directory.  I fixed it with File::file?.
Merge pull request #2697 from rhysd/fix/which

Fix Bundler::which