This adds new command to jenv: `jenv with <version> <command...>`.
It executes the command with the specified version being effective.
It's roughly equivalent to invoking `jenv shell <version>` and then
`<command>` except that it doesn't change the state of running shell.
Alternative could be to invoke `jenv shell` in a subshell, like
( jenv shell <version>; <command>; )
except that this actually doesn't work, because the version set by `jenv
shell` becomes effective only after `_jenv_export_hook` executes, which
in turn happens only when the prompt is printed.
The other alternative is to set the JAVA_HOME explicitly
JAVA_HOME=~/.jenv/versions/<version> <command>
This works, but is arguably verbose.