##### SUMMARY
Move some helper functions from `vmware_host_config_manager` to `PyVmomi`.

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
vmware_host_config_manager
vmware

##### ADDITIONAL INFORMATION
`vmware_host_config_manager` has some helper functions (`is_integer`, `is_boolean` and `is_truthy`) to deal with vSphere Web Services API `OptionValue`s. Today, I started to work on issue #61421 and I think these helper functions could be useful there, too. Actually, there are several Managed Object Types with an `OptionValue[]` parameter. Instead of duplicating the code, I think it would be better to move these helper functions to `PyVmomi` in `module_utils/vmware.py`.
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