Parallelize reads from the API

Hi @deflaux this code parallelizes reads from the API. By default it will still use one thread per worker. Please give it a try and let me know how it works.

Thanks