setup.sh: extract is_download function
setup.sh: fix incorrect backup path
setup.sh: don't re-download if checksum of existing file matches