### 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
expected = "The collection galaxy.yml at '%s/galaxy.yml' is missing the " \
               "following mandatory keys: authors, name, readme, version" % to_native(galaxy_yml_dir)
    with pytest.raises(ValueError, match=expected):
        assert collection.concrete_artifact_manager._get_meta_from_src_dir(galaxy_yml_dir, require_build_metadata=False) == expected
@pytest.mark.parametrize('galaxy_yml_dir', [b'My life story is so very interesting'], indirect=True)
def test_galaxy_yaml_no_mandatory_keys_bad_yaml(galaxy_yml_dir):
    expected = "The collection galaxy.yml at '%s/galaxy.yml' is incorrectly formatted." % to_native(galaxy_yml_dir)
    with pytest.raises(AnsibleError, match=expected):
        collection.concrete_artifact_manager._get_meta_from_src_dir(galaxy_yml_dir)
@pytest.mark.parametrize('galaxy_yml_dir', [b"""
namespace: namespace
name: collection
authors: Jordan
version: 0.1.0
readme: README.md
invalid: value"""], indirect=True)
def test_warning_extra_keys(galaxy_yml_dir, monkeypatch):
    display_mock = MagicMock()
    monkeypatch.setattr(Display, 'warning', display_mock)
    collection.concrete_artifact_manager._get_meta_from_src_dir(galaxy_yml_dir)
    assert display_mock.call_count == 1
    assert display_mock.call_args[0][0] == "Found unknown keys in collection galaxy.yml at '%s/galaxy.yml': invalid"\
        % to_text(galaxy_yml_dir)
@pytest.mark.parametrize('galaxy_yml_dir', [b"""
namespace: namespace
name: collection
authors: Jordan
version: 0.1.0
readme: README.md"""], indirect=True)
def test_defaults_galaxy_yml(galaxy_yml_dir):