A promise based throttler capable of limiting execution of parallel tasks