##### SUMMARY
The documentation mentions the ability to specify a galaxy server parameter via the syntax `ANSIBLE_GALAXY_SERVER_{{ id }}_{{ key }}`, but this seems to not be working for the URL of an example of this.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
lib/ansible/cli/galaxy.py

##### ANSIBLE VERSION
```
ansible --version
ansible 2.9.0.dev0
  config file = None
  configured module search path = ['/Users/alancoding/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/alancoding/Documents/repos/ansible/lib/ansible
  executable location = /Users/alancoding/.virtualenvs/ansible3/bin/ansible
  python version = 3.6.5 (default, Apr 25 2018, 14:23:58) [GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)]
```

##### CONFIGURATION
```
ANSIBLE_NOCOWS(env: ANSIBLE_NOCOWS) = True
```

##### OS / ENVIRONMENT
Mac OS, control machine, also on CentOS


##### STEPS TO REPRODUCE
Run this command

```yaml
ANSIBLE_GALAXY_SERVER_GALAXY_URL=https://galaxy.ansible.com ANSIBLE_GALAXY_SERVER_PRIVATE_GALAXY_URL=https://galaxy-dev.ansible.com ANSIBLE_GALAXY_SERVER_LIST=private_galaxy,galaxy ansible-galaxy collection install -r fallback_not_found/collections/requirements.yml -p dest -vvvv
```

where the content is

```
cat fallback_not_found/collections/requirements.yml
collections:
  - name: "chrismeyersfsu.test_things"
  - name: "chrismeyersfsu.tower_modules"
```

##### EXPECTED RESULTS
I expect it to attempt to install from the development galaxy server, and then get a 404, and then install from the release galaxy server.

This works if I do not use these environment variables and instead use the config:

```
[galaxy]
server_list = dev_galaxy,galaxy

[galaxy_server.dev_galaxy]
url=https://galaxy-dev.ansible.com

[galaxy_server.galaxy]
url=https://galaxy.ansible.com/
```

The documentation describes this use case here:

https://github.com/jborean93/ansible/blob/devel/docs/docsite/rst/dev_guide/collections_tech_preview.rst

> As well as being defined in the ansible.cfg file, these server options can be defined as an environment variable. The environment variable is in the form ANSIBLE_GALAXY_SERVER_{{ id }}_{{ key }} where {{ id }} is the upper case form of the server identifier and {{ key }} is the key to define. For example I can define token for release_galaxy by setting ANSIBLE_GALAXY_SERVER_RELEASE_GALAXY_TOKEN=secret_token.

The setting for the host is `url`

> url: The URL of the galaxy instance to connect to, this is required.

##### ACTUAL RESULTS
```
ansible-galaxy 2.9.0.dev0
  config file = None
  configured module search path = ['/Users/alancoding/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/alancoding/Documents/repos/ansible/lib/ansible
  executable location = /Users/alancoding/.virtualenvs/ansible3/bin/ansible-galaxy
  python version = 3.6.5 (default, Apr 25 2018, 14:23:58) [GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)]
No config file found; using defaults
ERROR! No setting was provided for required configuration plugin_type: galaxy_server plugin: private_galaxy setting: url 
```

I also tried removing "galaxy" from the names, and this has the same result.

```
ANSIBLE_GALAXY_SERVER_FOO_URL=https://galaxy.ansible.com ANSIBLE_GALAXY_SERVER_BAR_URL=https://galaxy-dev.ansible.com ANSIBLE_GALAXY_SERVER_LIST=bar,foo ansible-galaxy collection install -r fallback_not_found/collections/requirements.yml -p dest -vvvv
ansible-galaxy 2.9.0.dev0
  config file = None
  configured module search path = ['/Users/alancoding/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/alancoding/Documents/repos/ansible/lib/ansible
  executable location = /Users/alancoding/.virtualenvs/ansible3/bin/ansible-galaxy
  python version = 3.6.5 (default, Apr 25 2018, 14:23:58) [GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)]
No config file found; using defaults
ERROR! No setting was provided for required configuration plugin_type: galaxy_server plugin: bar setting: url 
```

Ping @jborean93 @chrismeyersfsu @ryanpetrello 

We do _not_ rate this as a Tower blocker, because the `ansible.cfg` specification of parameters is known to work, and we will begin to design around that.
"""
        Exits with the specified return code unless the
        option --ignore-errors was specified
        """
        if not context.CLIARGS['ignore_errors']:
            raise AnsibleError('- you can use --ignore-errors to skip failed roles and finish processing the list.')
    @staticmethod
    def _display_role_info(role_info):
        text = [u"", u"Role: %s" % to_text(role_info['name'])]
        text.append(u"\tdescription: %s" % role_info.get('description', ''))
        for k in sorted(role_info.keys()):
            if k in GalaxyCLI.SKIP_INFO_KEYS:
                continue
            if isinstance(role_info[k], dict):
                text.append(u"\t%s:" % (k))
                for key in sorted(role_info[k].keys()):
                    if key in GalaxyCLI.SKIP_INFO_KEYS:
                        continue
                    text.append(u"\t\t%s: %s" % (key, role_info[k][key]))
            else:
                text.append(u"\t%s: %s" % (k, role_info[k]))
        return u'\n'.join(text)
    @staticmethod
    def _resolve_path(path):