##### SUMMARY
For a fraction of second after the creation of a new VM, the VM name is not yet defined in its relative dictionary returned by the proxmoxer when querying the list of VMs (proxmox.cluster.resources.get(type='vm')). 

Accessing to this non existing attribute as an element of a dictionary instead of using the get function on the dictionary raise an error.

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
proxmox_kvm

##### ANSIBLE VERSION
```
ansible 2.8.0
  config file = /home/pguermo/Projects/superluminal-pdp/etc/ansible.cfg
  configured module search path = ['/home/pguermo/Projects/superluminal-pdp/library']
  ansible python module location = /home/pguermo/.virtualenvs/superluminal-pdp/lib/python3.5/site-packages/ansible
  executable location = /home/pguermo/.virtualenvs/superluminal-pdp/bin/ansible
  python version = 3.5.3 (default, Sep 27 2018, 17:25:39) [GCC 6.3.0 20170516]
```

##### STEPS TO REPRODUCE
Create several VMs on proxmox in a row. 
```
  proxmox_kvm:
    api_host: "{{ pve_host_fqdn }}"
    api_user: "{{ pve_user }}"
    api_password: "{{ pve_password }}"
    validate_certs: "{{ validate_certs }}"
    node: "{{ pve_node }}"

    name: "{{ ansible_host }}"
    pool: "{{ pool_id }}"
    vmid: "{{ vmid }}"

    description:  "{{ description | default(vm.description) }}"
    net:          "{{ net         | default(vm.net) }}"

    balloon:  "{{ balloon   | default(vm_defaults.balloon) }}"
    cores:    "{{ cores     | default(vm_defaults.cores) }}"
    ide:      "{{ ide       | default(vm_defaults.ide) }}"
    memory:   "{{ memory    | default(vm_defaults.memory) }}"
    ostype:   "{{ ostype    | default(vm_defaults.ostype) }}"
    scsi:     "{{ scsi      | default(vm_defaults.scsi) }}"

    state: present
  delegate_to: localhost
```

Some VMs will not be created. 

If you add traces in the function get_vmid(proxmox, name) of  ansible/modules/cloud/misc/proxmox_kvm.py, you'll notice that for some new VMs of the list, the dictionary doesn't have a 'name' entry. The `vm['name']` is then failing.

Use instead `vm.get('name')`. It will returns None if there is no name entry in the dictionary and the check `if vm.get('name') == name` can be processed properly.
if update:
        if getattr(proxmox_node, VZ_TYPE)(vmid).config.set(name=name, memory=memory, cpu=cpu, cores=cores, sockets=sockets, **kwargs) is None:
            return True
        else:
            return False
    elif module.params['clone'] is not None:
        for param in valid_clone_params:
            if module.params[param] is not None:
                clone_params[param] = module.params[param]
        clone_params.update(dict([k, int(v)] for k, v in clone_params.items() if isinstance(v, bool)))
        taskid = proxmox_node.qemu(vmid).clone.post(newid=newid, name=name, **clone_params)
    else:
        taskid = getattr(proxmox_node, VZ_TYPE).create(vmid=vmid, name=name, memory=memory, cpu=cpu, cores=cores, sockets=sockets, **kwargs)
    while timeout:
        if (proxmox_node.tasks(taskid).status.get()['status'] == 'stopped' and
                proxmox_node.tasks(taskid).status.get()['exitstatus'] == 'OK'):
            return True
        timeout = timeout - 1
        if timeout == 0:
            module.fail_json(msg='Reached timeout while waiting for creating VM. Last line in task before timeout: %s' %
                                 proxmox_node.tasks(taskid).log.get()[:1])
        time.sleep(1)
    return False
def start_vm(module, proxmox, vm, vmid, timeout):
    taskid = getattr(proxmox.nodes(vm[0]['node']), VZ_TYPE)(vmid).status.start.post()
    while timeout:
        if (proxmox.nodes(vm[0]['node']).tasks(taskid).status.get()['status'] == 'stopped' and
                proxmox.nodes(vm[0]['node']).tasks(taskid).status.get()['exitstatus'] == 'OK'):
            return True
        timeout -= 1