exit duckpan query on unhandled SIGINT etc.

we don't have a listener for UIDESTROY, so this works, and is simpler