Initial code.
Handle SIGINT correctly.

The multiprocessing module couldn't handle Ctrl-C correctly, so I wrote
a simple process pool to replace it.
Parse command line using argparse.

Added option to specify how many concurrent threads to use.