Don't save file if HTTP response code is >= 300 and don't delete partially downloaded files in case of download error since only the last byte of a 4GiB file might be left when the network went down.
Return invalid date if none exists.
Merge pull request #4 from dhruvbird/http_404_handling