Do some preliminary checks to see if the file is already downloaded and has the same size as the remote, in which case skip, or if files sizes are different, download