CI: non-remote GH Actions now use a python venv
# What does this PR do?
 
This PR changes the cached python environment in non-remote GH actions to fresh virtual environments, that are rebuilt whenever `setup.py` gets updated. This ensures our test environment is closer to what a new user would see in the wild, and that we don't have package constraints due to other installed libraries (that come bundled in `ubuntu-latest`).

As a side effect, because the cached venv requires no installation of python packages on a cache hit, we also got slightly faster CI: 
- \>3 mins faster in `Add new model like template tests`
- \>3 mins faster in `Model templates runner`
(total of ~7 mins per full CI run when there is a cache hit)

Examples of runs:
cache miss -> create new venv: https://github.com/huggingface/transformers/runs/6027339356?check_suite_focus=true
cache hit -> load cached venv: https://github.com/huggingface/transformers/runs/6028381114?check_suite_focus=true
_The documentation is not available anymore as the PR was closed or merged._<|||||>(cc @ydshieh )