crates: Improve loader implementation
Add incremental support based on sha256 EXTID. Use looseversion.LooseVersion2 to parse crate versions. Manage release date for each versions of a package. Fetch extrinsic metadata for a crate version from crates Web API. Adapt test dataset and add incremental test cases. Related to swh/meta#4104