server: check virustotal has APK before uploading it
server: check virustotal has APK before uploading it

This restructures the virustotal uploading so that first checks whether
virustotal already has the file, and only if not does it upload it.  This
also handles the public API rate limiting, which returns an HTTP 204. This
will now try again until it succeeds, even when rate limited.   Instead of
just getting the list of files from the filesystem, this reads the index-v1
which also already has the SHA256 in there.  virustotal also uses SHA256 as
a unique ID for files.

f-droid/fdroid-server,f-droid/fdroidserver,f-droid/fdroid-server,fdroidtravis/fdroidserver,f-droid/fdroid-server,fdroidtravis/fdroidserver,fdroidtravis/fdroidserver,f-droid/fdroidserver,f-droid/fdroid-server,f-droid/fdroidserver,fdroidtravis/fdroidserver,f-droid/fdroid-server,f-droid/fdroidserver,f-droid/fdroidserver