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.
I store remote commits like this: https://github.com/Originate/git-town/blob/master/features/step_definitions/commit_steps.rb#L34

If you want to use a "coworker" repo, that sounds good to me. It would definitely be more clean. Git Town isn't really set up for collaborative coding on feature branches yet. I know, "Git Automation for Agile Development Teams" is our slogan, so we should think about that. I guess the only way to make that safe is to do merge commit into feature branches only (so that we don't rewrite history), and then submit features with "git merge --squash", so that we don't end up with branch spaghetti.