<!--- 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
Ansible throws an AttributeError exception. If I do not specify a network section, it will create the vm but complain about mismatched number of NICs

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
vmware_guest

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.8.3
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/home/ansible/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /bin/ansible
  python version = 2.7.5 (default, Jun 11 2019, 12:19:05) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
ANSIBLE_PIPELINING(/etc/ansible/ansible.cfg) = True
DEFAULT_PRIVATE_KEY_FILE(/etc/ansible/ansible.cfg) = /home/ansible/.ssh/id_rsa
HOST_KEY_CHECKING(/etc/ansible/ansible.cfg) = False
PARAMIKO_HOST_KEY_AUTO_ADD(/etc/ansible/ansible.cfg) = True
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
vSphere 6.7.0
RHEL 7.6 kernel 3.10.0-957.21.3.el7.x86_64
pyvmomi 6.7.1.2018.12
##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->
Run the following playbook
<!--- Paste example playbooks or commands between quotes below -->
```yaml
---
# tasks file for vmware-setup
- name: Create or update VM
  vmware_guest:
    hostname: "{{ vCenter.ip }}"
    username: "{{ vCenter.username }}"
    password: "{{ vCenter.password }}"
    annotation: Provisioned and managed by Ansible
    cluster: "{{ cluster_name }}"
    datacenter: "{{ datacenter_name }}"
    name: "{{ inventory_hostname }}"
    folder: "{{ folder_name }}"
    state: poweredon
    template: "{{ template_name }}"
    networks:
      - name: "{{ network_name }}"
        vlan: 400
        ip: "{{ ansible_host }}"
        netmask: "{{ network_netmask }}"
    customization:
      dns_servers: 10.22.148.45
      domain: "{{ vCenter.domain }}"
      hostname: "{{ inventory_hostname|lower }}"
    validate_certs: no
  delegate_to: localhost

```

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

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
New vm to be created and started

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->
AttributeError thrown
<!--- Paste verbatim command output between quotes -->
```paste below
TASK [vmware-setup : Create or update VM] *********************************************************************************************************************************************************************
task path: /workspace/ansible-fusion/roles/vmware-setup/tasks/main.yml:3
Using module file /usr/lib/python2.7/site-packages/ansible/modules/cloud/vmware/vmware_guest.py
Pipelining is enabled.
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: ansible
<localhost> EXEC /bin/sh -c 'sudo -H -S -n  -u root /bin/sh -c '"'"'echo BECOME-SUCCESS-swmzlhdjmcuoqfuzomgxoopqvglmlgub ;  /usr/bin/python2'"'"' && sleep 0'
The full traceback is:
Traceback (most recent call last):
  File "<stdin>", line 114, in <module>
  File "<stdin>", line 106, in _ansiballz_main
  File "<stdin>", line 49, in invoke_module
  File "/tmp/ansible_vmware_guest_payload_frCA55/__main__.py", line 2669, in <module>
  File "/tmp/ansible_vmware_guest_payload_frCA55/__main__.py", line 2658, in main
  File "/tmp/ansible_vmware_guest_payload_frCA55/__main__.py", line 2175, in deploy_vm
  File "/tmp/ansible_vmware_guest_payload_frCA55/__main__.py", line 1355, in configure_network
AttributeError: 'NoneType' object has no attribute 'uuid'

fatal: [FUSION-jenkins-slave-1 -> localhost]: FAILED! => {
    "changed": false,
    "module_stderr": "Traceback (most recent call last):\n  File \"<stdin>\", line 114, in <module>\n  File \"<stdin>\", line 106, in _ansiballz_main\n  File \"<stdin>\", line 49, in invoke_module\n  File \"/tmp/ansible_vmware_guest_payload_frCA55/__main__.py\", line 2669, in <module>\n  File \"/tmp/ansible_vmware_guest_payload_frCA55/__main__.py\", line 2658, in main\n  File \"/tmp/ansible_vmware_guest_payload_frCA55/__main__.py\", line 2175, in deploy_vm\n  File \"/tmp/ansible_vmware_guest_payload_frCA55/__main__.py\", line 1355, in configure_network\nAttributeError: 'NoneType' object has no attribute 'uuid'\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
    "rc": 1
}
```

nic.device.connectable.allowGuestControl = network_devices[key].get('allow_guest_control')
                    nic_change_detected = True
                if nic.device.deviceInfo.summary != network_name:
                    nic.device.deviceInfo.summary = network_name
                    nic_change_detected = True
                if 'device_type' in network_devices[key]:
                    device = self.device_helper.get_device(network_devices[key]['device_type'], network_name)
                    device_class = type(device)
                    if not isinstance(nic.device, device_class):
                        self.module.fail_json(msg="Changing the device type is not possible when interface is already present. "
                                                  "The failing device type is %s" % network_devices[key]['device_type'])
                
                if 'mac' in network_devices[key] and nic.device.macAddress != current_net_devices[key].macAddress:
                    self.module.fail_json(msg="Changing MAC address has not effect when interface is already present. "
                                              "The failing new MAC address is %s" % nic.device.macAddress)
            else:
                
                device_type = network_devices[key].get('device_type', 'vmxnet3')
                nic = self.device_helper.create_nic(device_type,
                                                    'Network Adapter %s' % (key + 1),
                                                    network_devices[key])
                nic.operation = vim.vm.device.VirtualDeviceSpec.Operation.add
                nic_change_detected = True
            if hasattr(self.cache.get_network(network_name), 'portKeys'):
                
                pg_obj = None
                if 'dvswitch_name' in network_devices[key]:
                    dvs_name = network_devices[key]['dvswitch_name']
                    dvs_obj = find_dvs_by_name(self.content, dvs_name)
                    if dvs_obj is None: