A simple queue for executing promises concurrently. You can set timeouts, max concurrency as well as retries