Pool of workers

Added a new option to `smart_dispatch.py` allowing to use a pool of workers. The main reason to use this new option is when you expected your jobs to be of different durations. When a worker finishes excuting a command, it will immediately start working on the next one. Thus will reduce the number idle CPU in a node.

Basically you set the number of workers you want using `--pool N` and it will spawn as many workers to execute a common list of command (the commands are spanned by `smart_dispatch.py` as before).
Considering that speed is definitely not an issue, how about using sha256 instead of sha1 to minimize risk of collision?
I would suggest sha512 but it might be annoying for the filenames ?