<!--- Verify first that your feature was not already discussed on GitHub -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Describe the new feature/improvement briefly below -->
Use case is for customers on air-gapped customers who want to take the tarball using a flash drive inside their network.
Currently that is not possible because cli does not keep the tarball after installing the collection.

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
ansible-galaxy cli

##### ADDITIONAL INFORMATION
<!--- Describe how the feature would be used, why it is needed and what it would solve -->

<!--- Paste example playbooks or commands between quotes below -->
```yaml

```

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

with _get_tar_file_member(tar, filename) as tar_obj:
        with tempfile.NamedTemporaryFile(dir=b_temp_path, delete=False) as tmpfile_obj:
            actual_hash = _consume_file(tar_obj, tmpfile_obj)
        if expected_hash and actual_hash != expected_hash:
            raise AnsibleError("Checksum mismatch for '%s' inside collection at '%s'"
                               % (to_native(filename, errors='surrogate_or_strict'), to_native(tar.name)))
        b_dest_filepath = os.path.join(b_dest, to_bytes(filename, errors='surrogate_or_strict'))
        b_parent_dir = os.path.split(b_dest_filepath)[0]
        if not os.path.exists(b_parent_dir):
            
            
            os.makedirs(b_parent_dir, mode=0o0755)
        shutil.move(to_bytes(tmpfile_obj.name, errors='surrogate_or_strict'), b_dest_filepath)
        
        tar_member = tar.getmember(to_native(filename, errors='surrogate_or_strict'))
        new_mode = 0o644
        if stat.S_IMODE(tar_member.mode) & stat.S_IXUSR:
            new_mode |= 0o0111
        os.chmod(b_dest_filepath, new_mode)
def _get_tar_file_member(tar, filename):
    n_filename = to_native(filename, errors='surrogate_or_strict')
    try:
        member = tar.getmember(n_filename)
    except KeyError:
        raise AnsibleError("Collection tar at '%s' does not contain the expected file '%s'." % (
            to_native(tar.name),
            n_filename))
    return _tarfile_extract(tar, member)
def _get_json_from_tar_file(b_path, filename):