Wait for expect subtraction the wrong way around
clarify email-exceptions option
Reorganise testing scripts
Check records in individual files and retry if bad

Now we have the global checklist and a per-file file_checklist set
to ensure that exactly the rows we expect are in each file

Allows to abort early if something bad is happening, and to retry
files if they're missing rows (which apparently happens...)
Keep global checklist as an overall sanity check

Includes a refactor of unpack_grib() and _download_file to make
way for the changes
Don't crash the daemon if a download fails
Require a dataset argument in download command
2-pass unpacking to avoid trashing the gribmirror
Don't catch exit exceptions
Missed variable change - reset backoff on success