API requests should be queued rather than restricting Promise.all concurrency

Issue #6 resolved
Ben G created an issue

We currently avoid API network/timeout issues by using the --concurrency option to restrict the number of parallel components processed (2 by default). This is good, but it controls things at the component level. It would be better to maintain a request queue shared by all components.