Feature/multiprocessing

For faster matrix generation
In one of my later changes I made it Python3 compatible. `xrange` should be replaced by `range`. In any case, the value of `num_processes` will always be tiny, so the gain you get by using `xrange` is negligible.