##### 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}

```

def __init__(self, *args, **kwargs):
        super(TaskError, self).__init__(*args, **kwargs)
def wait_for_task(task, max_backoff=64, timeout=3600):
    """Wait for given task using exponential back-off algorithm.
    Args:
        task: VMware task object
        max_backoff: Maximum amount of sleep time in seconds
        timeout: Timeout for the given task in seconds
    Returns: Tuple with True and result for successful task
    Raises: TaskError on failure
    """
    failure_counter = 0
    start_time = time.time()
    while True:
        if time.time() - start_time >= timeout:
            raise TaskError("Timeout")
        if task.info.state == vim.TaskInfo.State.success:
            return True, task.info.result
        if task.info.state == vim.TaskInfo.State.error:
            error_msg = task.info.error
            host_thumbprint = None
            try:
                error_msg = error_msg.msg
                if hasattr(task.info.error, 'thumbprint'):
                    host_thumbprint = task.info.error.thumbprint
            except AttributeError:
                pass