stbt batch run: Fix stbt-version.log

Since 1dbb8ffa, `stbt batch run` wouldn't correctly record the stbt
version when stbt was run from the installed location (it only worked
when run from source directory). Instead, you'd see this on stderr:

    $prefix/libexec/stbt/stbt-batch.d/../stbt: No such file or directory

We can't find the `stbt` executable relative to `stbt-batch.d/run`,
because the former is in $bindir while the latter is in $libexecdir, so
the location depends on the packaging -- at most we could make an
educated guess.

Note that the selftest I've added does correctly detect the issue,
because since 4ffa6b6c `make check` installs stbt into a temporary
directory and runs the tests against that installation.
test-stbt-batch.sh: Run `stbt batch run` from outside git repo

Since 00ac5b67, the selftests for `stbt batch run` create a git
repository in the temporary directory where the tests are run, to
allow the tests to pass when run from a dist tarball. `stbt batch run`
expects the scripts it's given to be in a git repository, so that it
can record the revision of the scripts it ran.

This commit changes the selftests so that `stbt batch run` is executed
from outside a git repo, but the *scripts* passed to `stbt batch run`
are inside a git repo. I'm only doing this for hypothetical reasons:
What if there was a bug in `stbt batch run` that looked at the git
revision of the current working directory instead of the script's
directory.