rebase -i: hide reword console log without --verbose
fixup! rebase -i: teach do_pick the option --edit

hide reword console log without --verbose
fixup! rebase -i: log the replay of root commits

hide root recreation console log without --verbose
fixup! rebase -i: commit only once when rewriting picks
commit: allow disabling pre-commit and commit-msg separately

Introduce the git-commit command line options `--no-pre-commit` and
`--no-commit-msg` to disable the pre-commit and commit-msg hooks,
respectively. Make `--no-verify` a synonym for specifying both at
the same time.

This change is motivated by an internal usage of git-commit in
git-rebase--interactive to disable pre-commit while keeping
commit-msg enabled when rewording a commit.

Make `test_commit` forward unknown options to git-commit instead of
teaching it all possible options. In order to support leading
double dashes in `<message>`, stop interpreting `test_commit`
arguments following a `--` argument as options. This wasn't a
problem before because the first unknown option would be used as
`<message>`.

Add tests.