Only install diesel on CI if the binary isn't cached
Only install diesel on CI if the binary isn't cached

The CI build cache is currently updated with every build, even if there
are no changes.  This is because running `cargo install` will update
the index causing some files under `$HOME/.cargo` to be updated,
invalidating the cache.

The drawback is that if we bump the diesel version, then the CLI will
not be automatically updated.  However, even an old version of the CLI
application is expected to be able to run our migrations on CI and the
cache can always be cleared if a new version is needed.

rust-lang/crates.io,rust-lang/crates.io,rust-lang/crates.io,rust-lang/crates.io