Improve Ctrl-c handling. 1. Restore original handlers after subprocess terminates. Otherwise the installed handlers persist and will swallow sigint outside of subprocess invocations. 2. Raise KeyboardInterrupt when subprocesses terminate to interrupt the script itself. run_perf_tests.py allows for some subprocess failures (--max-errors, with non-zero default). This results in ctrl-c interrupting subprocesses but the script just marks the test as FAIL and keeps running. Bug: angleproject:7299 Change-Id: I2917008baa389491c7591596fc14ee139fa6417e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3831887 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>