Add `direnv invoke WORKDIR EXECUTABLE [ARGS...]`

Does what you might imagine. Establishes the direnv environment for `$WORKDIR`
before running `$EXECUTABLE $ARGS`.

On platforms where exec is available, we exec into the target executable.
Otherwise `os/exec.Command()` is used.