Set the state based on the states of all file downloads. Assumes all file
downloads are done.

A single failed sub-transfer makes the entire transfer failed. If there
are no failed sub-transfers, a single canceled sub-transfer makes the
entire transfer canceled. Otherwise, we consider ourselves Completed.