##### 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`.
pm = content.guestOperationsManager.processManager
        
        ps = vim.vm.guest.ProcessManager.ProgramSpec(
            
            
            programPath=program_path,
            arguments=program_args,
            workingDirectory=program_cwd,
        )
        res = pm.StartProgramInGuest(vm, creds, ps)
        result['pid'] = res
        pdata = pm.ListProcessesInGuest(vm, creds, [res])
        
        while not pdata[0].endTime:
            time.sleep(1)
            pdata = pm.ListProcessesInGuest(vm, creds, [res])
        result['owner'] = pdata[0].owner
        result['startTime'] = pdata[0].startTime.isoformat()
        result['endTime'] = pdata[0].endTime.isoformat()
        result['exitCode'] = pdata[0].exitCode
        if result['exitCode'] != 0:
            result['failed'] = True
            result['msg'] = "program exited non-zero"
        else:
            result['msg'] = "program completed successfully"
    except Exception as e:
        result['msg'] = str(e)
        result['failed'] = True
    return result
def serialize_spec(clonespec):