CA-115521: Change the way we use the platform map for vGPU setup

Instead of setting platform:vga=vgpu, xapi now just sets
platform:vgpu_pci_id and platform:vgpu_config. The presence of both of
these keys indicates that the VM's display mode needs to be Vgpu, and
the value of platform:vga is overridden.

This means that when a vGPU is removed from a VM, the display emulation
mode will revert back to what it was before the vGPU was added.

Signed-off-by: John Else <john.else@citrix.com>
CA-115521: Add unit tests for video mode override

Signed-off-by: John Else <john.else@citrix.com>
CP-6853: Add a means of manually setting up vGPU for a VM

Setting platform:vgpu_manual_setup=true means that xapi won't change any
of the other platform fields used for setting up a vGPU, so a vGPU can be
set up manually.

Signed-off-by: John Else <john.else@citrix.com>
CP-6853: Add a means of passing arbitrary arguments to vgpu

The contents of VM.platform:vgpu_extra_args (if any) will be passed to
the vgpu process (and in turn to the NVIDIA plugin).

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