file: check download tree before recursing and checking file existence
fs: use queue to upload files to limit the number of concurrent file uploads