Interruptible Pool class so multithreaded runs can be ^C-ed

Python's `multiprocessing.Pool` class doesn't interact well with SIGINT, and so if you ^C a multithreaded emcee run you get hangs and tons of tracebacks and all sorts of bad news. This PR adds a shim `InterruptiblePool` class that avoids these problems. The implementation is based on the solution provided by John Reese [here](http://noswap.com/blog/python-multiprocessing-keyboardinterrupt). This is a big usability win in my experience.

I've tried to write decent docstrings but I'm not sure how to generate the docs so they may have markup issues.