Rewrite `bundle exec` wrapper to be more robust

Hey,

I wrote my own plugin to handle `bundle exec`'ing commands and noticed that there is one in this project as well.

The difference is that the new one;

* uses one less `eval` when `fish HEAD` is installed (using the `--inherit-variable` flag)
* specifically checks if the binary exists in bundler's context, using `ruby -e 'puts Gem.bindir'`
* doesn't depend on `Gemfile` being present (since that file can be named anything using `--gemfile`)
* runs the non-bundler executable even within the context of a Bundler project, if the gem is not added to the Gemfile
* adds two new executables `kitchen` and `rubocop`