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.
Merge pull request #1362 from simonjbeaumont/cp-5593

CP-5593: Implement PGPU.set_GPU_group
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.