Revamp test selection for the example tests
# What does this PR do?

After the revamp of the test_fetcher, the test collection of the example tests wasn't working anymore: if only an example is changed, the corresponding tests are not run. This PR adapts the example tests collection to the new test fetcher and makes sure they are appropriately run. It's more fine-grained than the previous approach which ran all example tests as soon as when a diff was discovered: here the tests are run when the modifications impact the test examples.

To see this in action:
- at the [first commit](https://app.circleci.com/pipelines/github/huggingface/transformers/65204) the diff only impacts repo utils, so only the test repo utils job is ran (no example or other test jobs).
- at the [second commit](https://app.circleci.com/pipelines/github/huggingface/transformers/65207) the diff has a change in the PyTorch `run_glue`, so the PyTorch example test job is ran, but only on the trainer examples (not the no_trainer ones since they are not touched).
- at the [third commit](https://app.circleci.com/pipelines/github/huggingface/transformers/65208), we remove the fake example modif and add a fake change in the Trainer, which impacts all examples.

cc @ydshieh for when you're back from vacation.