Add support for finishing incomplete downloads

Currently if flickr_airlift is interrupted when downloading a photo it will leave a zero byte file on the file system and then skip this photo next time it is run and so never fully download the photo.

These commits resolve this problem