Use threads to make layer requests

We have a list of layers we'd like to retrieve, but we currently fetch each layer's data in sequence. This patch parallelizes that action, so that the total execution time is roughly that of the slowest layer (rather than the sum of all).

The requests library is thread safe.