Allow bisect-prove to be run from a subdirectory

Normally, git-bisect expects to be run from the toplevel
directory. You can now run it from an arbitrary subdirectory,
provided that the directory exists in all commits.

This now requires File::pushd.

The script will die if there is a git error.