KeyboardInterrupt will cause a callback error and does not close the thread pool cleanly
KeyboardInterrupt is being catched in main (https://github.com/torproject/sbws/blob/ee64d76df54ceb3a3c9e1e2a797fd70d68bb0035/sbws/core/scanner.py#L394), it's not possible from there to call pool.close() so that the pool terminates the threads. What is more, it'll result in a callback error to the pool. When the operator wants to cancel sbws, it should close all the threads, don't call callback error, and don't show all the exceptions that the threads hit not being able to finish.