vss-win32: Fix build with mingw64-headers-3.1.0

In mingw64-headers-3.1.0, definition of _com_issue_error() is added, which
conflicts with definition in install.cpp. This adds version checking for
mingw headers to disable the definition when the headers>=3.1 is used.

Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@hds.com>
Makefile: add qga-vss-dll-obj-y to nested variables

The build rule for qga/vss-win32/qga-vss.dll is broken by commit
ba1183da9a10b94611cad88c44a5c6df005f9b55, because it misses
qga-vss-dll-obj-y in the list of nested variables.
This fixes build of qga-vss.dll by adding qga-vss-dll-obj-y to the list.

Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@hds.com>
qemu-ga: add 'disks' optional argument to guest-fsfreeze-freeze

This patch adds 'disks' optional argument for 'guest-fsfreeze-freeze'
command, that is a list of disk drives' addresses to be frozen like below.

Example of 'disks' argument specifying 2 disks (1 virtio + 1 IDE):

  {"execute":"guest-fsfreeze-freeze",
   "arguments":{"disks":[
    {"bus":"virtio",
     "address":{"pci-controller":{"domain":0,"bus":0,"slot":7,"function":0},
                "bus":0, "target":0, "unit":0}},
    {"bus":"ide",
     "address":{"pci-controller":{"domain":0,"bus":0,"slot":1,"function":1},
                "bus":1,"target":0,"unit":1}}]}}

For now, IDE/SATA/SCSI/virtio disks under PCI controllers are supported.

If the 'disks' is specified, Qemu-ga gathers device information from sysfs
while walking the mounted filesystems to check whether filesystems are on
the disk contained in the list.
When a filesystem lays over multiple disks using LVM and only a part of the
disks is listed, it will be frozen (slave disks of virtual volumes are
also collected from sysfs "/sys/dev/block/*:*/slaves/").

If the 'disks' is not specified, every mounted filesystem is frozen.

Signed-off-by: Tomoki Sekiyama <tomoki.sekiyama@hds.com>