squash! rebase -i: Do not die in do_pick

Since `do_pick` might be executed in a sub-shell (a modified author
environment for instance), calling `die` in `do_pick` has no effect but
exiting the sub-shell with a failure exit status. The
git-rebase--interactive script is not terminated. Moreover, if `do_pick`
is called while a squash or fixup is in effect, `die_with_patch` will
discard `$squash_msg` as commit message.

Indicate an error in `do_pick` using return statements and properly kill
the script at the call sites. Although possible in principle, the issued
error messages are no more indicating whether `do_pick` failed while
applying or while committing the changes. This does not matter much for
the user because a glance at the index reveals whether there are
conflicts or not and in-depth troubleshooting is still possible using
the `--verbose` option.

Remove the commit message title argument from `do_pick`'s interface,
which has become unused.