##### SUMMARY
get_vm() method vmware.py module utility fails with KeyError if uuid is not in the module param from whch method is invoked

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
vmware.py module util

##### ANSIBLE VERSION
```
ansible 2.9.0.dev0
```

##### OS / ENVIRONMENT
Ubuntu 16

##### STEPS TO REPRODUCE
Creating new module. 'uuid' is not in my module arguments. 
Called get_vm() 

pyv = PyVmomi(module=module)
vm = pyv.get_vm()

##### EXPECTED RESULTS
Call should return vm_id if it exists

##### ACTUAL RESULTS
```
Get error
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: KeyError: 'uuid'
fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n  File
\"/home/vmware/.ansible/tmp/ansible-tmp-1565095783.75439-259726275713856/AnsiballZ_vmware_content_deploy_template.py\", line 125, in <module>\n    _ansiballz_main()\n  File \"/home/vmware/.ansible/tmp/ansible-tmp-1565095783.75439-259726275713856/AnsiballZ_vmware_content_deploy_template.py\", line 117, in _ansiballz_main\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n  File \"/home/vmware/.ansible/tmp/ansible-tmp-1565095783.75439-259726275713856/AnsiballZ_vmware_content_deploy_template.py\", line 51, in invoke_module\n    spec.loader.exec_module(module)\n  File \"<frozen importlib._bootstrap_external>\", line 665, in exec_module\n  File \"<frozen importlib._bootstrap>\", line 222, in _call_with_frames_removed\n  File \"/tmp/ansible_vmware_content_deploy_template_payload_69cftg21/__main__.py\", line 271, in <module>\n  File \"/tmp/ansible_vmware_content_deploy_template_payload_69cftg21/__main__.py\", line 241, in main\n  File \"/tmp/ansible_vmware_content_deploy_template_payload_69cftg21/ansible_vmware_content_deploy_template_payload.zip/ansible/module_utils/vmware.py\", line 891,
in get_vm\nKeyError: 'uuid'\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}

```

""" Walk the parent tree to find the objects datacenter """
    if isinstance(obj, vim.Datacenter):
        return obj
    datacenter = None
    while True:
        if not hasattr(obj, 'parent'):
            break
        obj = obj.parent
        if isinstance(obj, vim.Datacenter):
            datacenter = obj
            break
    return datacenter
def find_datastore_by_name(content, datastore_name):
    return find_object_by_name(content, datastore_name, [vim.Datastore])
def find_dvs_by_name(content, switch_name, folder=None):
    return find_object_by_name(content, switch_name, [vim.DistributedVirtualSwitch], folder=folder)
def find_hostsystem_by_name(content, hostname):
    return find_object_by_name(content, hostname, [vim.HostSystem])
def find_resource_pool_by_name(content, resource_pool_name):
    return find_object_by_name(content, resource_pool_name, [vim.ResourcePool])
def find_network_by_name(content, network_name):
    return find_object_by_name(content, network_name, [vim.Network])
def find_vm_by_id(content, vm_id, vm_id_type="vm_name", datacenter=None,
                  cluster=None, folder=None, match_first=False):
    """ UUID is unique to a VM, every other id returns the first match. """
    si = content.searchIndex
    vm = None
    if vm_id_type == 'dns_name':
        vm = si.FindByDnsName(datacenter=datacenter, dnsName=vm_id, vmSearch=True)