archive, cran: Replace 'artifact_identity' with extid to detect known packages
We want to store these identifiers in the ExtID storage, which expects
a (preferably short) bytearray; but the 'artifact_identity' was a
list of (possibly long) strings and ints.
While this commit does not write them to the ExtID storage yet,
it makes these two loaders use them internally.
Assuming no sha256 collision, this does not change their behavior
when seen from the outside, with two exceptions:
- the list of keys to use is now configured with a template string
- configuring an unknown key now raises a KeyError instead of silently using a None value.
But we never use this configuration setting, so in practice there is no
change at all.