Merge rebase mode from Magit

This merges `rebase-mode.el` from Magit.

@tarsius Shall I merge it?

Btw, I'd like to rename `rebase-mode.el` to `git-rebase-mode.el` for the sake of consistency with other modes, and because I think that we should not claim a generic name such has `rebase-mode`.  After all, you can “rebase” many things, including commits and branches in other DVCS.  Are you ok with that?  I don't think that it'd break anything, since users will only use this mode via auto mode anyway.

I still need to update the credits in README.md to account for rebase mode.  Do you know who contributed to this mode, other than those listed in the file header?

**Edit:** As for the technical details of this merge:  It's a checkout from `magit/master`, passed through `git filter-branch` to remove all files other than `rebase-mode.el`, with some [custom trickery](http://git.661346.n2.nabble.com/Removing-useless-merge-commit-with-quot-filter-branch-quot-td7356544.html) to remove empty merges, and eventually merged into a branch of `git-modes/master` with `git merge`, plus some follow up commits to update the README, and unify the licensing.