CP-5881: Update VGPU_types for PGPUs on startup

VGPU_types for existing PGPUs are updated during update_gpus (at db_sync time).
This will allow xapi to pick up any changes to the host system which might
introduce more supported VGPU_types (i.e. installing the NVIDIA VGX rpm).

Consequently, if any such VGPU_types are no longer supported as a result of
changes on the host (i.e. uninstalling the rpm), then the VGPU_types will be
garbage collected as they are not in use by any PGPUs.

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
CP-5881: Use same pci_db for all PGPU updates

Optimisation: find_or_create_supported_types for a PGPU was reconsructing the
entire Pci_db from file each time. Now, the Pci_db can be created and passed in
so it can be reused over all PGPUs that need updating.

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
Merge pull request #1404 from simonjbeaumont/cp-5881

Update supported vGPU types at startup