CP-8358: PCI subsystem device/vendor ID handling

These patches add the PCI subsystem device/vendor ID/name to PCI objects, parsing them from lspci output on xapi startup.

Support is also added for specifying a physical subsystem device ID in vGPU config files; xapi will take this into account when determining whether a vGPU configuration is supported on a discovered PCI device.

If a config file does not specify a physical subsystem device ID, xapi will interpret this to mean that only the physical device ID is required to identify a device which will support the vGPU configuration.
From http://pci-ids.ucw.cz/mods/PC/?action=help?help=pci:

> Sometimes, a device ID is not sufficient to select the right driver. For example, the same chip can be wired in different ways on different boards. In such cases, the manufacturer of the board defines a subsystem ID for the board, which serves as an additional identification.

> The subsystem ID's are 4 bytes long, stored as 8 hexadecimal letters with a space in the middle (e.g., 1234 abcd could be a subsystem ID). The first quad of digits is the vendor ID (from the same list of vendors as the devices; possibly different from the vendor of the device itself), the rest is assigned by the vendor.