CA-127324: Catch error and continue if we fail to lookup a vendor or device ID

This allows a pGPU to be created even if pci.ids is missing one of those
fields for a device.

Signed-off-by: John Else <john.else@citrix.com>
CA-127324: Resync changed vendor and device names

If a device is installed at a point when its device ID is not present in
pci.ids, it will be listed with the device name "Unknown (<device-id>)".
If an updated pci.ids is installed later, the PCI object should be
updated with the newly available device name.

This commit also fixes the above for PCI vendor IDs and names.

Signed-off-by: John Else <john.else@citrix.com>
CA-127325: Don't try to read subvendor/subdevice IDs for physical devices

We don't need these IDs, and some devices don't implement them (in which
case the old sscanf fails).

Signed-off-by: John Else <john.else@citrix.com>
Move filter_chars to parse_lspci_line

Signed-off-by: John Else <john.else@citrix.com>
Add tests for parse_lspci_line

Signed-off-by: John Else <john.else@citrix.com>
Fix parse_lspci_line tests

The version of pci.ids in the chroot has changed, so the values read are
different.

Signed-off-by: John Else <john.else@citrix.com>
Merge pull request #1651 from johnelse/spike64-nvidia-223

Fixes to improve GPU support