Change the way downloaded files are handled

- name them based on their SHA1 sum rather than datetime. This means the
 same content will result in the same filename, giving the extractor a
 chance to ignore things it's already processed

- download to tmp.??? then rename, so there are never partially
 downloaded files by the name of cs3*