WIP: Download demux issue 533

So far, this only provides the PreprocessedData summary.
Made this change because the `no_public` option should not control whether or not an error is raised. There were many places in, e.g., upload.py (see below) where the function was being called with `no_public=True`, but this would just return `False` and continue execution rather than bailing, which I think was supposed to be the intended behavior.