<!--- 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 module fails if group (string) is not an integer.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
unarchive.py

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```
ansible 2.9.11
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```
N/A
```

##### OS / ENVIRONMENT
independent


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

<!--- Paste example playbooks or commands between quotes below -->
```
- name: "Unarchive artifacts"
  unarchive:
    src: "/tmp/artifact_name.zip"
    dest: "/tmp/artifact_name/"
    remote_src: yes
    owner: '{{ user_uid }}'
    group: '{{ user_gid }}'
  loop: "{{ artifacts }}"
  loop_control:
    loop_var: artifact
  tags:
    - never
    - deploy


```

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

##### EXPECTED RESULTS
Archives are extracted with given ownership and group


##### ACTUAL RESULTS
```
The full traceback is:
Traceback (most recent call last):
  File "<stdin>", line 102, in <module>
  File "<stdin>", line 94, in _ansiballz_main
  File "<stdin>", line 40, in invoke_module
  File "/usr/lib64/python2.6/runpy.py", line 136, in run_module
    fname, loader, pkg_name)
  File "/usr/lib64/python2.6/runpy.py", line 54, in _run_module_code
    mod_loader, pkg_name)
  File "/usr/lib64/python2.6/runpy.py", line 34, in _run_code
    exec code in run_globals
  File "/tmp/ansible_unarchive_payload_mD4gq1/ansible_unarchive_payload.zip/ansible/modules/files/unarchive.py", line 913, in <module>
  File "/tmp/ansible_unarchive_payload_mD4gq1/ansible_unarchive_payload.zip/ansible/modules/files/unarchive.py", line 871, in main
  File "/tmp/ansible_unarchive_payload_mD4gq1/ansible_unarchive_payload.zip/ansible/modules/files/unarchive.py", line 355, in is_unarchived
TypeError: group id must be integer
failed: [hostname] (item={'name': 'artifact_name'}) => {
    "ansible_loop_var": "artifact",
    "artifact": {
        "name": "artifact_name"
    },
    "changed": false,
    "module_stderr": "Traceback (most recent call last):\n  File \"<stdin>\", line 102, in <module>\n  File \"<stdin>\", line 94, in _ansiballz_main\n  File \"<stdin>\", line 40, in invoke_module\n  File \"/usr/lib64/python2.6/runpy.py\", line 136, in run_module\n    fname, loader, pkg_name)\n  File \"/usr/lib64/python2.6/runpy.py\", line 54, in _run_module_code\n    mod_loader, pkg_name)\n  File \"/usr/lib64/python2.6/runpy.py\", line 34, in _run_code\n    exec code in run_globals\n  File \"/tmp/ansible_unarchive_payload_mD4gq1/ansible_unarchive_payload.zip/ansible/modules/files/unarchive.py\", line 913, in <module>\n  File \"/tmp/ansible_unarchive_payload_mD4gq1/ansible_unarchive_payload.zip/ansible/modules/files/unarchive.py\", line 871, in main\n  File \"/tmp/ansible_unarchive_payload_mD4gq1/ansible_unarchive_payload.zip/ansible/modules/files/unarchive.py\", line 355, in is_unarchived\nTypeError: group id must be integer\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
    "rc": 1
}

```

unarchive:
    src: /tmp/foo.zip
    dest: /usr/local/bin
    extra_opts:
    - --transform
    - s/^xxx/yyy/
'''
import binascii
import codecs
import datetime
import fnmatch
import grp
import os
import platform
import pwd
import re
import stat
import time
import traceback
from zipfile import ZipFile, BadZipfile
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.urls import fetch_file
from ansible.module_utils._text import to_bytes, to_native, to_text
try:  
    from shlex import quote
except ImportError:  
    from pipes import quote
OWNER_DIFF_RE = re.compile(r': Uid differs$')
GROUP_DIFF_RE = re.compile(r': Gid differs$')
MODE_DIFF_RE = re.compile(r': Mode differs$')