Previous model was based on file: an existing *.tmp file signify a thread is downloading.
This model is not error prone: when viking failed to remove such a file (core dump?),
it won't be able to download this tile in the future.
Now, the concurrency between threads is handle internally: a list contains
all tmp files currently in use. By this way, thread exclude each other and
locks are clean at start.
Drawback: this model does not allow concurrency between multiple instance
of viking.