rebase -i: teach do_pick the option --gpg-sign

`do_pick` is the git-cherry-pick wrapper in git-rebase--interactive
that is used to replay the commits mentioned on to-do lists. The
git-rebase interface comes with several options that change how
commits are replayed (for instance, there is a option that asks
git-rebase to sign all replayed commits with the user's GPG key).

To make the replay of commits internally better configurable, add a
new option `--gpg-sign`, which is available from both the git-commit
and the git-cherry-pick interface, to `do_pick`. It appends a GPG
signature to the named commit after it is replayed. The private key
used for signing can either be passed as an argument to the option or
left to the user's gnupg configuration.
rebase -i: handle rebase option --gpg-sign in do_pick

If `--gpg-sign` is passed to git-rebase, all replayed commits are
GPG-signed. In interactive mode, pretend `--gpg-sign` is passed to
every to-do list command by relaying `gpg_sign_opt` to `do_pick` in
`do_next`. `gpg_sign_opt` is either of the format `-S` or `-S<keyid>`
which are both supported by `do_pick`.
rebase line options: add tests
rebase: add the --signoff option

- signoff=--signoff works because git-am, git-cherry-pick all share
  the same option name
- -s is already used for the strategy option, define long option only