check if SIGINT handler is callable before triggering it
check if SIGINT handler is callable before triggering it

an apparent Python bug can cause `int not callable` when SIGINT handler is SIG_IGN

It's a bit baffling that this behavior appears to be dependent on pyzmq version
in IPython's own use,
but the bug can be reproduced in a tiny amount of pure Python without zmq or IPython.
ipython/ipython,ipython/ipython