parse_persistent_identifier: Add optional parts parsing
This diff adds support for parsing optional parts in persistent identifiers.
Optional parts are defined the following way:
<swh_id>[;key1=val1][;key2=val2]
This should be merged or updated once this specification appears in the persistent identifiers documentation (swh-docs#1041 (closed)).
Related T1040
Migrated from D332 (view on Phabricator)