Check PGPU not in use before using for passthrough

This is done with the same mutex used for allocating vGPUs.

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
Remove redundant check for allowed VGPU type

The call to assert_capacity_exists_for_VGPU_type will make this call. Note that
assert_capacity_exists_for_VGPU_type returns either VGPU_TYPE_NOT_ALLOWED or
PGPU_INSUFFICIENT_CAPACITY_FOR_VGPU but we are currently ignoring this and
raising VM_REQUIRES_VGPU if the VGPU cannot be allocated on any PGPU on the
host.

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
Log clearly when creating GPU-passthough and vGPU

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
Merge pull request #1460 from simonjbeaumont/fix-passthru-allocation

Check PGPU not in use before using for passthrough