Update tests to create isolate git repo

Tests should be run in a pristine git repo where we control how the
commits are created. This allows us to modify the contents of the git
repo to perform more complete set ups to support exercising more
specific senarios in a predicatable fashion.