Simplify staging -> undo flow

It's not necessary to undo the tagging if we prepare with a staging tag.
So let's move the actual tagging to the end and drop undo_and_stage_tag.

Now we don't remove the staging when user aborts "git send-email", so
the condition to check stage message presence is imporoved: if there is
a tag AND the tag has message.

Signed-off-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add quotes around arguments with spaces in DEBUG print

When DEBUG is True each git command invocation is printed, making it
easy to understand what commands are executed by the script.

Arguments that contain spaces should be quoted in the output so it's
clear that they are a single argv[] element.

This patch is not perfect because strings containing both spaces and
double-quotes will be formatted as "a b""def" or even "a" "bc".  But
that is probably a rare case which I don't want to overcomplicate with a
shell-correct quoting filter.

Reported-by: Jeff Nelson <jenelson@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Repair the broken "missing profile" print string
Add signoff variable to profile settings.
Add inspect-emails to profile settings.
Always number series with a cover letter

If a cover letter is desired to separate metadata about the commit
from the commit message itself and a user decides to enforce a cover
letter for a single patch, make sure to number the "series" so it is
clear as to what has happened.