VM shutdown support in backend

Shutdown command stop guest graceful.

Guest os will react to a shutdown request after the the request is issued.

The differences from power off are that the guests disk storage will
be in a stable state rather than having the (virtual) power cord pulled.

Note that the guest OS may ignore the request, so the vm is not stopped.
Additionally, the hypervisor may check and support the VM 'on_poweroff'
XML setting resulting in a domain that reboots instead of shutting down.

For kimchi will not set 'on_poweroff' for VM XML configure.
So kimchi will not check the 'on_poweroff' setting of VM.
So if VM is create by other management tool and set 'on_poweroff' as
reboot, kimchi still will call this shutdown command.

Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>
Signed-off-by: Zhou Zheng Sheng <zhshzhou@linux.vnet.ibm.com>

Conflicts:
	src/kimchi/i18n.py
VM shutdown support in UI

Add a shutdown API and shutdown botton in UI.

Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>
New domain state pmsuspended

libvirt introduces a new domain state pmsuspended to represent
the domain which has been suspended by guest power management,
e.g. (entered itno s3 state). Because a "running" state could
be confused in this case, one will see the guest is paused
actually while playing. And state "paused" is for the domain
which was paused by virDomainSuspend.

update this state in kimchi

Signed-off-by: ShaoHe Feng <shaohef@linux.vnet.ibm.com>