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.
When the branch name is omitted, it uses the current branch. Since we said "Given I am on a local feature branch" 2 lines above, this makes the feature branch the one to use here: https://github.com/Originate/git-town/blob/master/features/step_definitions/commit_steps.rb#L4

Wait a sec, I think there could be a bug here. It doesn't use that branch in https://github.com/Originate/git-town/blob/master/features/step_definitions/commit_steps.rb#L14