allow iptest to be interrupted
allow iptest to be interrupted

Previously `^C` would register as a regular test failure, and the test suite would continue, in which case halting `iptest` meant hitting `^C` nine times.

This change makes iptest take notice of sigint in a test runner, and aborts the run.
ipython/ipython,ipython/ipython