VGPU: Fixed conflicts

Signed-off-by: Vincent Bernardoff <vincent.bernardoff@citrix.com>
Add 'vgpu' option to vga platform key
Add dummy implementation of PGPU.set_GPU_group

Signed-off-by: John Else <john.else@citrix.com>
Add the VGPU_type object to the API

Signed-off-by: John Else <john.else@citrix.com>
Add field GPU_group.supported_VGPU_types

Signed-off-by: John Else <john.else@citrix.com>
Add VGPU.type field

Signed-off-by: John Else <john.else@citrix.com>
Add a record type for VGPU_type to the CLI

Signed-off-by: John Else <john.else@citrix.com>
VGPU.type should default to Ref.null

Signed-off-by: John Else <john.else@citrix.com>
Add VGPU.type to the CLI

Signed-off-by: John Else <john.else@citrix.com>
Add VGPU feature flag

Signed-off-by: John Else <john.else@citrix.com>
Add method GPU_group.get_allowed_VGPU_types

Signed-off-by: John Else <john.else@citrix.com>
Add new GPU_group fields to the CLI

Signed-off-by: John Else <john.else@citrix.com>
Stop hiding GPU_group.create and GPU_group.destroy from the docs

This also means these methods get added to the bindings.

Signed-off-by: John Else <john.else@citrix.com>
Add GPU_group.create and GPU_group.destroy to the CLI

Signed-off-by: John Else <john.else@citrix.com>
Fix CLI params for GPU_group.destroy

Signed-off-by: John Else <john.else@citrix.com>
Add PGPU.set_GPU_group to the CLI

Signed-off-by: John Else <john.else@citrix.com>
CP-5593: Implement PGPU.set_GPU_group

Now able to set  the GPU group for a PGPU. The new group is checked for
compatability and will have it's GPU type updated to the incoming PGPU if it is
an empty group. The group from with the PGPU is departing is also checked in
case it's left in an unusable state w.r.t. any VGPUs that may or may not be
attached to running VMs.

The code used to get the identifier string from a PCI device has been factored
out from the GPU_group and into the PCI module for reuse in the PGPU module.
CP-5593: Added API errors for PGPU.set_GPU_group

Tested the failure paths for when any of the three preconditions don't hold:

  * PGPU cannot currently be attached to a VM;
  * Removing a PGPU must not leave a GPU group with VGPUs empty;
  * PGPU must have compatible device type with the destination GPU group.
Add Xapi_pci_helpers to parse the pci.ids database

This will replace the python script scripts/pci-info when finished.

Initial implementation: parses file into datastructure.

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
Removed redunandant information from PCI_DB.t

Removed the keys from the object themselves. Runs 30% quicker.

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>