Clean up large target/ and .cargo/ directories after each job
GitLab CI "caches" these folders, similar to how Jenkins keeps workspaces. We don't really want this, but put in a cleanup step as a stop gap so runners don't run out of disk space.
Opt-in to sparse cargo protocol for all non-MSRV jobs
For all jobs using Rust 1.68+, use cargo's optimized "sparse" protocol[1] to speed up the initial fetching of the cargo index and avoid needing to check out the entire git repository.
[1] https://blog.rust-lang.org/2023/03/09/Rust-1.68.0.html#cargos-sparse-protocol
Bug: T333663