##### SUMMARY
When installing a role with `ansible-galaxy` and specifying an API server, the role artifact download location (URL) is not correctly honored/used from the role version API response. `ansible-galaxy` will download the artifact from https://github.com even if the `download_url` value in the role version API response specifies a different location.

Example link to API response to roles that contain `download_url` field: https://galaxy.ansible.com/api/v1/roles/15836/versions/.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
ansible-galaxy

##### ANSIBLE VERSION
```paste below
-> ansible --version
[WARNING]: You are running the development version of Ansible. You should only run Ansible from "devel" if you are modifying the Ansible engine, or trying out features under
development. This is a rapidly changing source of code and can become unstable at any point.
ansible 2.11.0.dev0 (devel 42bc03f0f5) last updated 2021/01/03 15:11:48 (GMT -500)
  config file = None
  configured module search path = ['/Users/ross/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/ross/repos/ansible/lib/ansible
  ansible collection location = /Users/ross/.ansible/collections:/usr/share/ansible/collections
  executable location = /Users/ross/repos/ansible/bin/ansible
  python version = 3.9.1 (default, Dec 10 2020, 10:36:35) [Clang 12.0.0 (clang-1200.0.32.27)]
  jinja version = 2.11.2
  libyaml = False
```

##### CONFIGURATION
(fresh clone of `devel` branch with no changes)
```paste below
-> ansible-config dump --only-changed
[WARNING]: You are running the development version of Ansible. You should only run Ansible from "devel" if you are modifying the Ansible engine, or trying out features under
development. This is a rapidly changing source of code and can become unstable at any point.
```

##### OS / ENVIRONMENT
I am using Mac OS Catalina (10.15.7). I see the issue when using the latest Ansible and `ansible-galaxy` client installed via homebrew. I also cloned this repository and see the same issue running the latest `devel` branch with no changes.


##### STEPS TO REPRODUCE
1. Clone [this repo](https://github.com/l3ender/ansible-galaxy-api) and follow readme's steps to run a mock version of the Galaxy API. This simple HTTP server returns static HTTP responses from the `/api` directory.
2. Run `ansible-galaxy` to install a role, providing the local API server:
    ```bash
    ansible-galaxy role install geerlingguy.docker -vvvv --server http://localhost:8000
    ```

##### EXPECTED RESULTS
The role artifact/zip file will be downloaded from the location specified in the `download_url` value returned from the Galaxy API response ([`/api/v1/roles/xxx/versions/`](https://github.com/l3ender/ansible-galaxy-api/blob/8f0c3d0bd11f8c68a7f10ef30b58d981a988bb13/api/v1/roles/15836/versions/index.json#L19)).

##### ACTUAL RESULTS
The role artifact (zip file) is downloaded directly from https://github.com. The location specified by `download_url` in the API is ignored ([`/api/v1/roles/xxx/versions/`](https://github.com/l3ender/ansible-galaxy-api/blob/8f0c3d0bd11f8c68a7f10ef30b58d981a988bb13/api/v1/roles/15836/versions/index.json#L19)).

Output is below (note 3rd to last line):

```
-> ansible-galaxy role install geerlingguy.docker -vvvv --server http://localhost:8000
[WARNING]: You are running the development version of Ansible. You should only run Ansible from "devel" if you are modifying the Ansible engine, or trying out features under
development. This is a rapidly changing source of code and can become unstable at any point.
ansible-galaxy 2.11.0.dev0 (devel 42bc03f0f5) last updated 2021/01/03 15:11:48 (GMT -500)
  config file = None
  configured module search path = ['/Users/ross/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/ross/repos/ansible/lib/ansible
  ansible collection location = /Users/ross/.ansible/collections:/usr/share/ansible/collections
  executable location = /Users/ross/repos/ansible/bin/ansible-galaxy
  python version = 3.9.1 (default, Dec 10 2020, 10:36:35) [Clang 12.0.0 (clang-1200.0.32.27)]
  jinja version = 2.11.2
  libyaml = False
No config file found; using defaults
Initial connection to galaxy_server: http://localhost:8000
Opened /Users/ross/.ansible/galaxy_token
Calling Galaxy at http://localhost:8000
Calling Galaxy at http://localhost:8000/api
Found API version 'v1, v2' with Galaxy server cmd_arg (http://localhost:8000/api)
Starting galaxy role install process
Processing role geerlingguy.docker
- downloading role 'docker', owned by geerlingguy
Calling Galaxy at http://localhost:8000/api/v1/roles/?owner__username=geerlingguy&name=docker
Calling Galaxy at http://localhost:8000/api/v1/roles/15836/versions/?page_size=50
- downloading role from https://github.com/geerlingguy/ansible-role-docker/archive/3.0.0.tar.gz
- extracting geerlingguy.docker to /Users/ross/.ansible/roles/geerlingguy.docker
- geerlingguy.docker (3.0.0) was installed successfully
```

I ran into this issue when working on adding [Ansible Galaxy support to Nexus Repository Manger](https://issues.sonatype.org/browse/NEXUS-24270).
for path in self.paths:
            if os.path.isdir(path):
                return True
        return False
    def _write_galaxy_install_info(self):
        """
        Writes a YAML-formatted file to the role's meta/ directory
        (named .galaxy_install_info) which contains some information
        we can use later for commands like 'list' and 'info'.
        """
        info = dict(
            version=self.version,
            install_date=datetime.datetime.utcnow().strftime("%c"),
        )
        if not os.path.exists(os.path.join(self.path, 'meta')):
            os.makedirs(os.path.join(self.path, 'meta'))
        info_path = os.path.join(self.path, self.META_INSTALL)
        with open(info_path, 'w+') as f:
            try:
                self._install_info = yaml_dump(info, f)
            except Exception:
                return False
        return True
    def remove(self):