virttest: Libvirt polkit config support in env_process

Libvirt polkit driver supports administrators to setup fine grained
permission rules across client users, managed objects and API operations.

For support libvirt polkit configuration with basic user/objects/API
testing, add LibvirtPolkitConfig class in test_setup and perform the
config in env_process beforce case run start.

Reference:
http://libvirt.org/aclpolkit.html
http://libvirt.org/acl.html#perms

Signed-off-by: Wayne Sun <gsun@redhat.com>
virttest: Add support of unprivileged virsh session

For fine grained unprivileged user API permission testing, virsh session
should be started by unprivileged user. This patch update virsh_exec in
command, VirshPersistent and VirshSession for support once, persistent
and remote unprivileged virsh session.

If unprivileged_user specified in cfg file:
For one time and persistent session, the virsh_exec will be:
su - unprivileged_user -c 'virsh -c qemu:///system'

For remote persistent session, the virsh_exec will be:
ssh -o UserKnownHostsFile=/dev/null -o PreferredAuthentications=password
-p 22 remote_user@remote_ip "virsh -c qemu:///system"

Signed-off-by: Wayne Sun <gsun@redhat.com>
virsh: add an argument options into virsh.start().

Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
Merge pull request #1589 from waynesun09/polkit

virttest: Add support for libvirt polkit config and testing
Merge pull request #1629 from yangdongsheng/virsh_start_opt

virsh: add options to virsh.start() and change the default value of virsh_exec in VirshSession.__init__()