##### SUMMARY
This works on the host:
```
curl -L https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux64.tar.gz | tar xz
```

Using the `unarchive` module to do the same thing does not work.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
m:unarchive

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.8.5
  config file = None
  configured module search path = ['/Users/foo/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/Cellar/ansible/2.8.5_1/libexec/lib/python3.7/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.7.4 (default, Sep  7 2019, 18:27:02) [Clang 10.0.1 (clang-1001.0.46.4)]
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
Client: macOS 10.14.6
Host: Ubuntu 19.10

The `tar` binary has been installed using `sudo apt install tar` and `/usr/bin/tar` is present.

##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->

<!--- Paste example playbooks or commands between quotes below -->
```yaml
- name: Get geckodriver
  hosts: all
  tasks:
    - name: Fetch and extract geckodriver
      unarchive:
        src: https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux64.tar.gz
        # this directory exists on the host:
        dest: crawler-stuff
        remote_src: yes
        # Tried with and without the following:
        #extra_opts: xz
```

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
It should work.

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->

<!--- Paste verbatim command output between quotes -->
```paste below
PLAY [Get geckodriver] *****************************************************************************

TASK [Fetch and extract geckodriver] ****************************************************************************
fatal: [foo@hostname]: FAILED! => {"changed": false, "msg": "Failed to find handler for \"/root/.ansible/tmp/ansible-tmp-1573229459.674401-203357087796695/geckodriver-v0.26.0-linux64.tar0RChLg.gz\". Make sure the required command to extract the file is installed. Command \"/usr/bin/tar\" could not handle archive. Command \"/usr/bin/unzip\" could not handle archive."}
```
def __init__(self, src, b_dest, file_args, module):
        self.src = src
        self.b_dest = b_dest
        self.file_args = file_args
        self.opts = module.params['extra_opts']
        self.module = module
        self.io_buffer_size = module.params["io_buffer_size"]
        self.excludes = module.params['exclude']
        self.includes = []
        self.include_files = self.module.params['include']
        self.cmd_path = None
        self.zipinfo_cmd_path = None
        self._files_in_archive = []
        self._infodict = dict()
        self.zipinfoflag = ''
        self.binaries = (
            ('unzip', 'cmd_path'),
            ('zipinfo', 'zipinfo_cmd_path'),
        )
    def _permstr_to_octal(self, modestr, umask):
        ''' Convert a Unix permission string (rw-r--r--) into a mode (0644) '''
        revstr = modestr[::-1]
        mode = 0
        for j in range(0, 3):
            for i in range(0, 3):
                if revstr[i + 3 * j] in ['r', 'w', 'x', 's', 't']:
                    mode += 2 ** (i + 3 * j)
        
        return (mode & ~umask)
    def _legacy_file_list(self):