Test Architecture Tweak

As I was starting to write tests for sync-fork, wanted to try and simplify the test architecture a little bit.
Tests now update the remote with a second repository instead of using local and resetting.
This was just easier for me to think about and more closely mirrors reality.

@kevgo what do you think?

Note: I used git-extract to pull this off my sync-fork branch.
Not on my machine. And thus the tests are still passing for me

```bash
$ git checkout cr-tests; echo $?
Already on 'cr-tests'
Your branch is up-to-date with 'origin/cr-tests'.
0

$ git checkout cr-gitSyncFork; echo $?
Switched to branch 'cr-gitSyncFork'
Your branch is ahead of 'origin/cr-gitSyncFork' by 1 commit.
  (use "git push" to publish your local commits)
0

$ git checkout cr-notABranch; echo $?
error: pathspec 'cr-notABranch' did not match any file(s) known to git.
1
```