Feature unified parallel map

WIP

* New functions for parallelization: parallel_map in parfor module (using multiprocessing) and ipynbtools module (using IPython.parallel). These functions are designed to be as general as possible, and to support the qutip.ui.progressbar interface for displaying progress.
* They will be used to parallelize solvers in qutip.stochastic 
* Perhaps qutip.mcsolve could use this interface too, sometime in the future, instead of rolling its own parallelization using multiprocessing.
NP! Just happened to notice when I took a quick glance.