Add an utility file to get information from test files
# What does this PR do?

**Add an utility file to get information from test files.**

There are more places where we need to access the information contained in test files:

- tiny model creation script: need model tester in order to create (tiny) configuration
- pipeline testing:
  - need some information so we can create `pipeline_model_mapping` in a systematic way (to avoid human error, to avoid time consuming manual edits) from the existing `model_mapping` and `tf_model_mapping` under `xxxPipelineTests` classes (which use AUTO mappings)
  - need information so we can develop some checks to make sure no pipeline tests are missing

I think it's good if we have a centralized place (file) providing ways to get this information, therefore this PR comes.
This new file will be under development.

## One example usage

### code snippet
```
test_file = "tests/models/blip/test_modeling_blip.py"
test_file = f"{os.path.sep}".join(test_file.split("/"))

model_test_mapping = get_model_to_test_mapping(test_file)
model_tester_mapping = get_model_to_tester_mapping(test_file)

print(json.dumps(to_json(model_test_mapping), indent=4))
print(json.dumps(to_json(model_tester_mapping), indent=4))
```

### model to test classes
```python
{
    "BlipForConditionalGeneration": [
        "BlipTextImageModelTest"
    ],
    "BlipForImageTextRetrieval": [
        "BlipTextRetrievalModelTest"
    ],
    "BlipForQuestionAnswering": [
        "BlipTextImageModelTest",
        "BlipVQAModelTest"
    ],
    "BlipModel": [
        "BlipModelTest"
    ],
    "BlipTextModel": [
        "BlipTextModelTest"
    ],
    "BlipVisionModel": [
        "BlipVisionModelTest"
    ]
}
```

### model to tester classes
```python
{
    "BlipForConditionalGeneration": [
        "BlipTextImageModelsModelTester"
    ],
    "BlipForImageTextRetrieval": [
        "BlipTextRetrievalModelTester"
    ],
    "BlipForQuestionAnswering": [
        "BlipModelTester",
        "BlipTextImageModelsModelTester"
    ],
    "BlipModel": [
        "BlipModelTester"
    ],
    "BlipTextModel": [
        "BlipTextModelTester"
    ],
    "BlipVisionModel": [
        "BlipVisionModelTester"
    ]
}
```
_The documentation is not available anymore as the PR was closed or merged._<|||||>> It's all looking great! Can you add a couple of unit tests in `tests/repo_utils` for this file? It may help you catch some bugs and make sure any future PRs don't break anything.

Hi! I added a test file under `tests/repo_util/`, but as you know, the newly introduced methods require some libraries to be there, so we can import modules and get the list of model tester/test/classes. Therefore we can't test against some expected values on CircleCI `repo_utils_job`, where even `torch` or `vision` is not there.

Do you have any suggestion, say, moving this new test file outside `tests/repo_util/`?

~~Or maybe I should create some dummy model/test/tester classes dynamically inside the test file, and use them for testing?~~