Generation of server pack in separate thread with sync
To potentially allow to parallel generation of server packs, the generation should run in it#s own thread. Furthermore, any acquisitions of data from files should be synchronized to prevent file-locking and race conditions (looking at you, default icons and properties).