[MRG] Automatically group short tasks in batches

This is based on an online evaluation of the batch completion time to dynamically tune the size of the batch of tasks to dispatch at once to a worker.

TODO:

- [x] ensure tests pass on windows
- [x] update the change log
- [X] test with scikit-learn
`n_jobs` is always been bad parameter name. It should always have been `n_workers` as this is the size of the pool of workers. But it's too late to change I guess. This is not related to this PR though.