Fix abort-on-unconfirmed logic in util.confirm()
Fix abort-on-unconfirmed logic in util.confirm()

Previously, there was a bit of logic like this:

    if not confirmed and abort_on_unconfirmed in (True, 0):
        # logic for abort-on-unconfirmed

Since `False` is equal to `0`, the abort-on-unconfirmed logic would be
triggered in cases where it shouldn't have been--notably, in the default
case where `abort_on_unconfirmed=False`. (My thinking must have been
that `x in (y, z)` uses `is` to do comparisons, but that's clearly not
true.)

This complexity comes from handling `abort_on_unconfirmed=0` as
a special case that should act the same as `abort_on_unconfirmed=True`
(i.e., print "Aborted" then exit with code 0).

This change fixes the logic so that it correctly accounts for the
`abort_on_unconfirmed=0` special case. It's somewhat convoluted because
`isinstance(False, int) == True`.

Refs: 38c6f90e9ec752bbc7db6a52c3e90c3b1297f0b1@6e4be389ad560531f94f7b02186d49e516dbcb3b

wylee/runcommands,wylee/runcommands