Add syncing strategy for Rust packages that registers crates from a rust-lang/crates.io-index like repository
Created by: tjdevries
Previously, it was only possible to add Rust crates by updating the site-admin configuration for our Rust code host. This PR adds adds an alternative syncing strategy, which is to register crates from an "index repository" such as github.com/rust-lang/crates.io-index. The index repository is configurable (it defaults to empty string, no syncing) as well as the syncing interval (defaults to every 12hr)
Test plan
Manually ran the code locally to test that it works.