<!--- Verify first that your feature was not already discussed on GitHub -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
The vmware_cluster_ha module should support advanced configuration parameters in a generic way. 

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
vmware_cluster_ha

##### ADDITIONAL INFORMATION
The feature would allow advanced configurations like isolation address handling.

<!--- Paste example playbooks or commands between quotes below -->
```yaml
name: Enable HA with multiple custom isolation addresses for stretched vSAN
  vmware_cluster_ha:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    datacenter_name: datacenter
    cluster_name: cluster
    enable_ha: yes
    configuration_parameters:
      das.usedefaultisolationaddress: false
      das.isolationaddress0: '{{ primary_isolation_address }}'
      das.isolationaddress1: '{{ secondary_isolation_address }}'
  delegate_to: localhost
```

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

""" 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, datacenter_name=None):
    return find_object_by_name(content, datastore_name, [vim.Datastore], datacenter_name)
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, quote_obj_name(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)