Convert mapData into a folder module

So it can be more easily split into sub-modules for better code clarity.
Split refresh method & refactoring
Show a nicer free space value
Task buffer size == 0 is a valid size

Zero should actually mean that no buffering should be performed
and the work queue should be only as big as the number of threads.
To signal that the work queue should be unbounded, use -1.