Rebase improvements

This PR implements multiple features listed in #32 and #25 for the `scc rebase` command:

- add a `--no-fetch` option to `scc rebase` and fetch the origin remote if not passed
- test for the existence of a local branch (and remote branch is pushing to Github) with the `rebased/base/branch` naming scheme and fail fast if they exist

 ```
sebastien@sbesson:openmicroscopy (dev_4_4) $ git branch rebased/develop/pytest-target
sebastien@sbesson:openmicroscopy (dev_4_4) $ python ~/code/ome/scc/scc.py rebase 1493 develop --no-fetch -q
Branch rebased/develop/pytest-target already exists in local Git repository
```
- improve the message when `scc rebase` fails with a conflict detailing the conflict solving workflow. See also open microscopy/ome-documentation#482 for a corresponding documentation PR

 ````
sebastien@sbesson:openmicroscopy (detached HEAD|REBASE 1/14) $ python ~/code/ome/scc/scc.py rebase 1493 develop -q
Rebasing failed
You are now in detached HEAD mode
 
 To keep on rebasing,
1) check the output of "git status" and fix the conflicts
2) re-add the conflicting files with "git add *"
3) run "git rebase --continue"
4) repeat steps 1-3 until all conflicts are resolved
4) run "scc rebase --continue 1493 develop"

 To abort rebasing
1) run "git rebase --abort"
2) checkout to the desired branch, e.g "git checkout master"
````

- after rebasing the branch, check the rebased branch sha1 differs  from the sha1 of the base branch. If equal, stops the command and throws a exception

 ```
sebastien@sbesson:openmicroscopy (dev_4_4) $ python ~/code/ome/scc/scc.py rebase 1493 dev_4_4 -q
No new commits between the rebased branch and origin/dev_4_4
```

Integration tests have been added for all these scenarios and should be daily run by the [SCC-self-merge](http://hudson.openmicroscopy.org.uk/view/Mgmt/job/SCC-self-merge/) job.

/cc @bpindelski, @ximenesuk