custom keyboard interrupt handling in  ask_yes_no

Sometimes, Ctrl-C just makes sense as an answer, and re-asking the
question is just frustrating. This changes makes it possible to break
out of the asking loop via Ctrl-C. This is particularly handy for asking
questions from the command line, where one expects Ctrl-c to be a sort
of "Cancel" operation, and is often functionally equivalent to "no"
allow trimming to an empty database (--keep=0)
`ipython history clear` subcommand