CI: remove Tezos_ci.Cache by reimplementing it into Cacio
What
This MR removes the enable_*cache helpers from Tezos_ci.Cache, reimplementing their features into Cacio directly.
Why
This module was now only used by Cacio. So it makes sense to have the code only available from Cacio. It simplifies Tezos_ci and prevents users from using those functions (they should no longer be used, since one should instead define jobs via Cacio).
More generally, it goes into the direction of merging Cacio and CIAO into a single layer. Cacio is a wrapper on top of CIAO, but we always said that this didn't have to be forever if it made sense to merge them after jobs are migrated to Cacio.
How
I used the most direct approach possible, by simply having the flags edit the variables, cache and script variables.
Since the only thing that was left in the Cache module was cargo_home, I removed Cache and added Cargo instead, with Cargo.home as the only content.
In the YAML diff, before_script is reordered. This is hard to fix without also moving the responsibility for datadog into Cacio, which this MR doesn't do. But according to @onurb the order being modified should not be a problem.
How to test
make -C ci should succeed with no diff (check the sanity_ci job).
I generated the diff in a separate commit which only contains reorderings of before_script.