Separate CircleCI cache between `main` and `pull` or other branches
# What does this PR do?

Keep the CircleCI cache running on `main` branch not affected by other branches/PR.

Reading the following by keeping in mind:
 - @lhoestq created a branch yesterday using `datasets 2.13.2.dev0`
 - @sgugger changed `setup.py` yesterday in the commit `4.32.0.dev0`
 - the cache used by @lhoestq 's branch is used on `main` in/after @sgugger 's commit.

Also: the CI triggered on `main` is much less frequently, so keeping its own cache from the pull events is fine (in terms of the cost)

Assume
  - someone changes `setup.py` to use a dev. version of a library, say `datasets` in a PR or a HF non-main branch
    - CI triggered + [precise] cache not found + [partial] cache found + cache updated with `datasets` dev. version
  - shortly, another person change `setup.py` (not necessary the same library involved) in another PR/branch and being merged
    - CI triggered+ [precise] cache not found + [partial] cache found: 
      - this could be the above one (depending the time gap)
      - `datasets` version remains `dev` if it has `datasets>=XXX` in `setup.py` in the merged PR
        - (as `dev` is newer version, so requirement already satisfied)
        - we get failures on `main` due to the `datasets dev` version, which should be avoided.



_The documentation is not available anymore as the PR was closed or merged._