getAuthor tries to return the updated author for the patch.
There are two different scenarios:

[explicit] Either we want to override the patch author, be it by
prompting the user (select) or having them pass it in from
the UI (new_author), or

[implicit] We want to keep the original author, in which case we
also double-check that we are not inadvertently "hijacking"
somebody else's patch (if the patch author is not the same as the
repository author, we give them a chance to abort the whole
operation)