Add support for --fixup, --squash and --autosquash

This allows to call `magit-commit-fixup` on a revision to automatically create !fixup commits. Then when interactively rebasing (`E` key), the commits are already in the correct place and one can simply press `C-c` and be done with it.

I used this workflow a lot outside magit, I think it's a nice one for "oops" commits.