rebase -i: pass diagnostic message to die in die_failed_squash

die_failed_squash is the error sequence for when a squash or fixup
command fails.

die_failed_squash issues a warning and calls die_with_patch with an
empty diagnostic message. Pass the issued diagnostic message to
die_with_patch instead of the empty string.

Prepare an easy-to-read patch set for implicitly making squash_msg the
commit message in die_with_patch when a squash or fixup is happening.
rebase -i: build diagnostic message for failed squash at call site

die_failed_squash is the error sequence for when a squash or fixup
command fails.

die_failed_squash passed a fixed diagnostic message to die_with_patch.
Take a second argument specifying the message contents instead to match
the signature of die_with_patch.

Prepare an easy-to-read patch set for implicitly making squash_msg the
commit message in die_with_patch when a squash or fixup is happening.
rebase -i: subsume die_failed_squash under die_with_patch

die_failed_squash is the error sequence for when a squash or fixup
command fails. Detect in die_with_patch whether we are in the middle of
a squash or fixup and insert squash_msg as commit message if that is the
case (copy the die_failed_squash code). Call die_with_patch instead of
die_failed_squash from the squash/fixup implementation so that the pick
error code looks the same both for ordinary picks and for
squashes/fixups. Remove die_failed_squash since it is no more used.

Complete the patch set.