Record the rustc target platform into the SBOM
Fixes #528
I think this is basically good to go, we just need to wait for the result of https://github.com/CycloneDX/cyclonedx-property-taxonomy/issues/75
That property needs a fair bit of design work. We need to specify where it is legal for it to appear: on metadata only, or does it also appear on a component to specify what target is it for? When recording dependencies for all platforms, do we have a boolean flag to indicate it, or do we list all platforms considered? If the latter, does it make sense to make that property an array or a set, instead of specifying it multiple times?
I've opened https://github.com/CycloneDX/cyclonedx-property-taxonomy/pull/78/ upstream. Once that's merged, this PR will need to be reworked to match that schema.
https://github.com/CycloneDX/cyclonedx-property-taxonomy/pull/78 is merged, so it would be nice to revive this.
Superseded by #762