Refinements to git-merge-pull

- Be more prudent about not initiating rebase/merge process if the source and
  target branches don't match the corresponding remote branches.
- Perform the rebase on a separate <branch name>-rebase branch.
- Use colorize to make the output more pretty
- Change the merge commit message slightly.
- Generally be more explicit with git commands around remote and branch. Don't
  assume mapping is setup properly.
You can hit this case if, say, your local `develop` has a couple commits on top of `origin/develop`. The `git pull` will succeed in this case, but you're arguably not in a state for auto-merging.