Run "git stash" and "git stash apply" before and after a dry test run.
Reason: We don't want to destroy local uncommited changes when running tests.
One solution was to mock bisect_utils.GitRun -- doing that caused the course of the run to change, making it so that there were no results (since git log is used to get a list of revisions, even for the dry run). So if we want to solve this problem by mocking git, we should replace it with a fake RunGit that returns different canned values depending on what the input is.
The advantage of stash/apply is that its simpler, but it's also a little bit slower than the above way.
BUG=
Review URL: https://codereview.chromium.org/
847393004
Cr-Commit-Position: refs/heads/master@{#313650}