Adapt Zheng Yuyu's changes.
Removed an unsafe edge case, but updater unit tests need to be fixed.

Specifically, we do not intentionally set any file metadata to be None
and then download the file unsafely.

Some of the tuf.client.updater unit tests fail because it was previously
possible to unsafely download metadata for any role. We need to fix
this.