Regularized confirm pattern.

Use the two-part pattern ...

    result = self._io_manager.confirm()
    if self._should_backtrack():
        return
    if not result:
        return

... every time IOManager.confirm() is called.

Why?

Because the first check accounts for (b) and (q) while the second check
accounts for (n).

That is: while in a confirmation dialogue, composers can enter (b), (q) or
(n) or (y). The three negative choices are accounted for by the two-part
pattern shown above; the positive (y) choice is accounted for by flow control
continuing in the method that calls confirm().