Implement `make_collection()`
Qt has very handy QtConcurrent::map that allows to run parallel jobs for each item.
This MR implements basically same thing make_collection()
that allows
ThreadWeaver::enqueue(ThreadWeaver::make_collection(list, [](const Item &item, ThreadWeaver::Collection &collection) {
// do some work with `item`
}));