Adapt fetchers to produce per-dataset errors
Related to #289 (closed)
When updating a fetcher, it may happen that a dataset fails to download for a variety of reasons and download.py should log the problem and run until the end. In that case, the previous version of the dataset must be kept. This may be what the update workflow currently does, but we need to be sure.