Implementing max parallel transfers

- Refactoring of queue to use actual waiting queue and running files
using FIFO pattern through push / shift
- Implemented a maxTransfers var that controls the number of file that
the running array can contain
- Implemented a waiting till "running file" array is full