First implementation of Crates loader.
The implementation extract both intrinsic and extrinsic metadata :
- Intrinsic: From Cargo.toml file after downloading the crate package
- Extrinsic: From get request to https://crates/io/api/v1/crates/<name-of-the-crate>
Extrinsic metadata is used to get versions of all released package. It's also used, for a specific version, to get the update date, and optionally, authors and description in case we can't get those from Intrinsic Metadata.
Related to T4104
please remove this, it loses commit messages it doesn't like