compare file size to protect against partial download.
support downloading distribution (tarball) that already exists; support file size compare in _needs_download().