##### SUMMARY
KeyError: 'templates' on second run

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
zabbix_template

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.9.2
  config file = /mnt/d/Code/gitlab/zabbix-servers/ansible/ansible.cfg
  configured module search path = ['/home/fism/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /mnt/d/Code/gitlab/zabbix-servers/venv/lib/python3.6/site-packages/ansible
  executable location = /mnt/d/Code/gitlab/zabbix-servers/venv/bin/ansible
  python version = 3.6.9 (default, Nov  7 2019, 10:44:02) [GCC 8.3.0]
```

##### STEPS TO REPRODUCE
On first run the new template is created
```yaml
- name: "create test template"
      zabbix_template:
        server_url: "{{ zabbix_apiserver_url }}"
        login_user: "{{ zabbix_apiuser_rw }}"
        login_password: "{{ zabbix_apipassword_rw }}"
        state: present
        template_name: test1
        template_groups:
          - "Templates"
```
If you run it a second time errors are thrown.

##### EXPECTED RESULTS
The second run should succeed without changes.

##### ACTUAL RESULTS
```shell
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/lib/python3.6/runpy.py", line 205, in run_module
    return _run_module_code(code, init_globals, run_name, mod_spec)
  File "/usr/lib/python3.6/runpy.py", line 96, in _run_module_code
    mod_name, mod_spec, pkg_name, script_name)
  File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmp/ansible_zabbix_template_payload_9t34ekm5/ansible_zabbix_template_payload.zip/ansible/modules/zabbix_template.py", line 743, in <module>
  File "/tmp/ansible_zabbix_template_payload_9t34ekm5/ansible_zabbix_template_payload.zip/ansible/modules/zabbix_template.py", line 727, in main
  File "/tmp/ansible_zabbix_template_payload_9t34ekm5/ansible_zabbix_template_payload.zip/ansible/modules/zabbix_template.py", line 398, in check_template_changed
KeyError: 'templates'

fatal: [localhost]: FAILED! => {
    "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  F
ile \"/usr/lib/python3.6/runpy.py\", line 205, in run_module\n    return _run_module_code(code, init_globals, run_name, mod_spec)\n  File \"/usr/lib/python3.6/runpy.py\", line 96, in _run_module_code\
n    mod_name, mod_spec, pkg_name, script_name)\n  File \"/usr/lib/python3.6/runpy.py\", line 85, in _run_code\n    exec(code, run_globals)\n  File \"/tmp/ansible_zabbix_template_payload_9t34ekm5/ansi
ble_zabbix_template_payload.zip/ansible/modules/zabbix_template.py\", line 743, in <module>\n  File \"/tmp/ansible_zabbix_template_payload_9t34ekm5/ansible_zabbix_template_payload.zip/ansible/modules/
zabbix_template.py\", line 727, in main\n  File \"/tmp/ansible_zabbix_template_payload_9t34ekm5/ansible_zabbix_template_payload.zip/ansible/modules/zabbix_template.py\", line 398, in check_template_ch
anged\nKeyError: 'templates'\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
    "rc": 1
}
```

This is what the existing_template variable looks like
```json
{
    'zabbix_export':
    {
        'version': '4.4',
        'date': '2020-01-13T14: 47: 28Z',
        'groups': [
            {
                'name': 'Templates'
            }
        ],
        'templates': [
            {
                'template': 'fismc',
                'name': 'fismc',
                'groups': [
                    {
                        'name': 'Templates'
                    }
                ],
                'items': [
                    {
                        'name': 'asdf',
                        'key': 'asdf'
                    }
                ]
            }
        ]
    }
}
```

So it seams that it fails if there aren't other templates linked.
description:
                    - Value of the macro.
                type: str
    dump_format:
        description:
            - Format to use when dumping template with C(state=dump).
            - This option is deprecated and will eventually be removed in 2.14.
        required: false
        choices: [json, xml]
        default: "json"
        version_added: '2.9'
        type: str
    state:
        description:
            - Required state of the template.
            - On C(state=present) template will be created/imported or updated depending if it is already present.
            - On C(state=dump) template content will get dumped into required format specified in I(dump_format).
            - On C(state=absent) template will be deleted.
            - The C(state=dump) is deprecated and will eventually be removed in 2.14. The M(zabbix_template_info) module should be used instead.
        required: false
        choices: [present, absent, dump]
        default: "present"
        type: str
extends_documentation_fragment:
    - zabbix
'''
EXAMPLES = r'''
---
- name: Create a new Zabbix template linked to groups, macros and templates
  local_action: