<!--- 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 -->

finally:
                raise_from(TaskError(error_msg, host_thumbprint), task.info.error)
        if task.info.state in [vim.TaskInfo.State.running, vim.TaskInfo.State.queued]:
            sleep_time = min(2 ** failure_counter + randint(1, 1000) / 1000, max_backoff)
            time.sleep(sleep_time)
            failure_counter += 1
def wait_for_vm_ip(content, vm, timeout=300):
    facts = dict()
    interval = 15
    while timeout > 0:
        _facts = gather_vm_facts(content, vm)
        if _facts['ipv4'] or _facts['ipv6']:
            facts = _facts
            break
        time.sleep(interval)
        timeout -= interval
    return facts
def find_obj(content, vimtype, name, first=True, folder=None):
    container = content.viewManager.CreateContainerView(folder or content.rootFolder, recursive=True, type=vimtype)
    
    obj_list = [obj for obj in container.view if not name or to_text(obj.name) == to_text(name)]
    container.Destroy()
    
    if first:
        if obj_list:
            return obj_list[0]
        return None
    
    return obj_list
def find_dvspg_by_name(dv_switch, portgroup_name):