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.
Probably more idiomatic (though certainly not more correct) to write these two lines as 

```ruby
"" == `#{cmd}`
```

because in Ruby, the value of the last expression is always returned. FYI