### Summary

The `ansible-galaxy` command has a [`--timeout` parameter](https://docs.ansible.com/ansible/latest/cli/ansible-galaxy.html#cmdoption-ansible-galaxy-collection-install-timeout) for most of its sub-commands but it seems to be only configurable on the command line.

I'd like to be able to configure it via environment variable, probably `ANSIBLE_GALAXY_TIMEOUT` or something similar.

### Issue Type

Feature Idea

### Component Name

galaxy

### Additional Information

The reason this is so useful is that it would work implicitly, for example when `ansible-galaxy` is being called by other commands like `molecule` or `ansible-lint`, or anything else that calls it on your behalf.

Sometimes you can customize aspects of the call by configuring those applications, but that's not always the easiest thing to do.

For example in molecule, we could set it in the [`dependency` step's `options`](https://molecule.readthedocs.io/en/latest/configuration.html#molecule.dependency.ansible_galaxy.AnsibleGalaxy), but that's not always ideal.

I have a shared CI pipeline that runs molecule across many ansible and python versions in parallel, and multiple instances of that pipeline may run in parallel for testing a single collection, resulting in dozens of simultaneous connections to my internal galaxy server which will eventually work but end up timing out.

I'd prefer to tune the timeout once in the definition of the shared pipeline, but I cannot because that pipeline calls `molecule`, using each collection's own molecule configuration, so I would have to modify every collection to set the timeout in this case.

If I had an environment variable, I could set that in the shared pipeline and not need to modify the collections (this is already how I set the server URL for example).

### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
return self.lazy_role_api.api
    def _get_default_collection_path(self):
        return C.COLLECTIONS_PATHS[0]
    def _parse_requirements_file(self, requirements_file, allow_old_format=True, artifacts_manager=None, validate_signature_options=True):
        """
        Parses an Ansible requirement.yml file and returns all the roles and/or collections defined in it. There are 2
        requirements file format:
            # v1 (roles only)
            - src: The source of the role, required if include is not set. Can be Galaxy role name, URL to a SCM repo or tarball.
              name: Downloads the role to the specified name, defaults to Galaxy name from Galaxy or name of repo if src is a URL.
              scm: If src is a URL, specify the SCM. Only git or hd are supported and defaults ot git.
              version: The version of the role to download. Can also be tag, commit, or branch name and defaults to master.
              include: Path to additional requirements.yml files.
            # v2 (roles and collections)
            ---
            roles:
            # Same as v1 format just under the roles key
            collections:
            - namespace.collection
            - name: namespace.collection
              version: version identifier, multiple identifiers are separated by ','
              source: the URL or a predefined source name that relates to C.GALAXY_SERVER_LIST
              type: git|file|url|galaxy
        :param requirements_file: The path to the requirements file.
        :param allow_old_format: Will fail if a v1 requirements file is found and this is set to False.
        :param artifacts_manager: Artifacts manager.
        :return: a dict containing roles and collections to found in the requirements file.
        """
        requirements = {