downlaods: made it possible to identify downloads with unknown size

This is meant to cover cases in which a progress listener is used when downloading a file, but for server-side reasons (e.g. gzip response) it's not possible to know the file size (and thus the download progress).