Add get_selections() and set_selections() for dpkg.

This module will enable to freeze a package at a certain version, with the "hold" state.
Add TODO, amend later... FIXME.
possible fix for https://github.com/saltstack/salt/issues/5567
possible fix for https://github.com/saltstack/salt/issues/5567
Removed unnecessary os_family mappings for pidora
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
Adding hash compare of files in RemoteClient.get_file().

 Adding hash compare of file in RemoteClient.get_file(). Avoid downloading if file hasn't changed between local cache and on remote server.
 This doesn't eliminate number of salt calls from minion to master and no great speed up when master and minions are in the same LAN. However it may help, minions over Internet and with slow links.
Clarify and make connection settings more flexible for libvirt

Previously you could specify a hostname or IP in the minion configuration. It was not flexible enough. Now you can either specify an explicit libvirt URI, or a libvirt connection alias.

Note: this is an incompatible change to #6672 when it comes to the configuration. The connection string can no longer contain a hostname.

 - http://libvirt.org/drvesx.html#uriformat
 - http://libvirt.org/uri.html#URI_config
Merge branch 'develop' into esxi
KVM and qemu both use qemu-img
Run the CLI tools as the configured user
Add a parser option for `retcode_passthrough`.
Adds --show-timeout to force the display of unresponsive minions
Removes debugging and badly merged code
Added gitfs_root option
Since salt-call can run as any user, no privileges dropping should be done for it.