Make loaders pass ExtId objects between functions instead of "known_artifact"
known_artifacts
is an untyped dict passed around the package loaders and loaded from the 'revisions.metadata' column.
AFAICT, it is only ever used to read one value at the end of its journey through the loader.
Instead, this dict should be converted to an ExtId
object as soon as possible.
Note that this task isn't about using the extid storage, but is a transitional state we need to smoothly start using the extid storage
Migrated from T3141 (view on Phabricator)