<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
The `-v` verbosity flags apply to the `ansible-galaxy` command as a whole, but on `devel` only work if passed after a subcommand like `import`, `role import`, or the new `collection` commands..

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
ansible-galaxy

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```
ansible 2.9.0.dev0
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/calvin/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/calvin/projects/ansible/lib/ansible
  executable location = /home/calvin/.local/share/virtualenvs/orion/bin/ansible
  python version = 3.6.8 (default, Mar 21 2019, 10:08:12) [GCC 8.3.1 20190223 (Red Hat 8.3.1-2)]

```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```
(empty)
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->


##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->
- Try to run an import with `-vvv` flags passed as the first parameter

<!--- Paste example playbooks or commands between quotes below -->
```
ansible-galaxy -vvv import --server=http://localhost:8000 orionuser1 ansible-log-stash

```

<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
In previous versions of ansible, and in most CLI tools, global flags can be passed to the top-level command. `-v` flags work passed in any position in previous versions.

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->
The `-v` or `-vvv` is ignored silently if it comes before the subcommand in the invocation. See broken and working examples below:

<!--- Paste verbatim command output between quotes -->
```
(orion) [calvin@localhost ansible]$ ansible-galaxy -vvv --server=http://localhost:8000 import orionuser1 ansible-log-stash
ERROR! Unexpected Exception, this is probably a bug: 'args'
to see the full traceback, use -vvv
(orion) [calvin@localhost ansible]$ ansible-galaxy --server=http://localhost:8000 import -vvv orionuser1 ansible-log-stash
ansible-galaxy 2.9.0.dev0
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/calvin/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/calvin/projects/ansible/lib/ansible
  executable location = /home/calvin/.local/share/virtualenvs/orion/bin/ansible-galaxy
  python version = 3.6.8 (default, Mar 21 2019, 10:08:12) [GCC 8.3.1 20190223 (Red Hat 8.3.1-2)]
Using /etc/ansible/ansible.cfg as config file
Opened /home/calvin/.ansible_galaxy


```

meta_path = os.path.join(collection_skeleton, 'galaxy.yml')
    with open(meta_path, 'r') as galaxy_meta:
        metadata = yaml.safe_load(galaxy_meta)
    assert metadata['namespace'] == 'ansible_test'
    assert metadata['name'] == 'delete_me_skeleton'
    assert metadata['authors'] == ['Ansible Cow <acow@bovineuniversity.edu>', 'Tu Cow <tucow@bovineuniversity.edu>']
    assert metadata['version'] == '0.1.0'
    assert metadata['readme'] == 'README.md'
    assert len(metadata) == 5
    assert os.path.exists(os.path.join(collection_skeleton, 'README.md'))
    # Test empty directories exist and are empty
    for empty_dir in ['plugins/action', 'plugins/filter', 'plugins/inventory', 'plugins/lookup',
                      'plugins/module_utils', 'plugins/modules']:
        assert os.listdir(os.path.join(collection_skeleton, empty_dir)) == []
    # Test files that don't end with .j2 were not templated
    doc_file = os.path.join(collection_skeleton, 'docs', 'My Collection.md')
    with open(doc_file, 'r') as f:
        doc_contents = f.read()
    assert doc_contents.strip() == 'Welcome to my test collection doc for {{ namespace }}.'
    # Test files that end with .j2 but are in the templates directory were not templated
    for template_dir in ['playbooks/templates', 'playbooks/templates/subfolder',
                         'roles/common/templates', 'roles/common/templates/subfolder']:
        test_conf_j2 = os.path.join(collection_skeleton, template_dir, 'test.conf.j2')
        assert os.path.exists(test_conf_j2)
        with open(test_conf_j2, 'r') as f:
            contents = f.read()
        expected_contents = '[defaults]\ntest_key = {{ test_variable }}'
        assert expected_contents == contents.strip()
@pytest.fixture()
def collection_artifact(collection_skeleton, tmp_path_factory):