Add simple test for conflicting rebase workflow
Add low-level fetch() method to GitRepository

- Add --no-fetch option to `scc rebase`
Add integration test for `scc rebase --no-fetch` command
Fix flake8 warning
In `scc rebase`, fail-fast if target branch already exist locally

- also check if remote branch exists before pushing to Github
- add corresponding integration tests
Add integration tests for existing local and remote branch when rebasing
Add fail-fast for new commits between rebased branch and new base

This commit should close #25 by comparing the SHA1 of the newly rebased
branch with the SHA1 of the new base. If they are the same, e.g. if the
PR has already been rebased, the Rebase command throws a Stop with an
informative error message.
Add integration test for no new commits fail-fast checkpoint
Improve readability of Stop message when scc rebase fails with conflict

Describe detailed workflow for fixing the conflicts including the "git rebase
--continue" and the "scc rebase --continue" commands
Also give the commands to abort the rebase.
Closes #32
Reorganize `scc rebase -h` options order
Refactor TestRebase to run tests as part of the Travis build
Merge remote-tracking branch 'origin/master' into rebase_continue
Drop check for PR mergeability in `scc rebase` post PR opening

This commit closes #63. Adding some logic to handle the race condition seems
like a lot of investement for little benefit at this point.
Add failing test for bad object exception in `scc rebase`
Handle bad objects in `scc rebase`
Fix object existence check logic using `git cat-file -e <object>`
Merge pull request #100 from sbesson/rebase_continue

Rebase improvements