Let wait for kcoq process be interrupted

The best a Backend's run method can do with InterruptedException
is to be sure to set the thread's interrupted status before it
returns.
This patch immediately gives up on compiling if it gets interrupted
while waiting for the child process to finish, and returns immediately
from the backend after killing the child process.