Update host/ip pairing rather than add the hostname a second time
Added replace kwarg whether to first remove any existing hostnames that match
Avoid running qemu-img when hypervisor is specified as esxi.

This is shown in the logs before this patch:

```
qemu-img: Could not open '[0] vm1/vm1.vmdk': No such file or directory
```

And the result from running virt.get_disks vm1 was before this patch:

```
build04:
    ----------
    sda:
        ----------
        file:
            [0] vm1/vm1.vmdk
        image:
            Does not exist
```

After the patch is applied:

```
build04:
    ----------
    sda:
        ----------
        file:
            [0] vm1/vm1.vmdk
```
Remove print()
Unify name: emulator vs hypervisor
move json decode wrappings to utils
Add state.pkg
clean up state package creation
clean up and add test=True capability to state.pkg
Include secondary IP addresses in ip_addrs{,6}

These functions were not iterating over the list of secondary IP
addresses, causing grains['ipv4'] and grains['ipv6'], as well as the
module execution functions network.ip_addrs and network.ip_addrs6 to
fail to include these IPs. This commit fixes that oversight.
Added warning for import error in ldap auth
Merge pull request #6719 from terminalmage/issue6656

Include secondary IP addresses in ip_addrs{,6}
Merge pull request #6716 from UtahDave/develop

4 spaces, not 2 spaces. Use single quotes,
Fix undefined variable

88399f3 introduced an undefined variable, this fixes that.
Raise exception if ldap auth module not available
Removed logging to please the thatch
`os.sep` is not callable. Add missing imports. Fix except `OSError` assignment.
Fix undefined variable error
Added 'run' prefix to TAGS
Added more comments
Updated runner to use new name spaced event tags
Also no generated 'new' event at start of runner
passes event tag and jid into low dict so future runners can
emit intermediate events