Let keyboard interrupt stop custom dispatch of completer.
Let keyboard interrupt stop custom dispatch of completer.

See #10733, interruption during custom completer can crash the
kernel. Technically we should likely even protect normal completion
(like jedi taking a while), but let's get something that fix an actual
bug.

This can lead to some inconsistencies in the frontend, as you interrupt
the kernel in Command mode, and interrupting the current custom
completer will lead to normal completion being (still) returned and the
completer poping up in command mode. It's not optimal but at least we do
not loose user state.

ipython/ipython,ipython/ipython