Add an extid_version field to ExtIDs
This allows distinguishing multiple potential versions of the mapping between external objects and their counterparts archived in Software Heritage, for instance when a loader has a backwards-incompatible change that should result in objects being loaded again.
The field defaults to zero, in which case it's backwards-compatible with the previous implementation in terms of identifier computation.
Related to T3418
Test Plan
new objects added to existing tests
Migrated from D6019 (view on Phabricator)