CP-5642: Make snapshots with VGPUs revertable

Snapshots with VGPUs would not revert in the case where the snapshotee had been
destroyed. This is because the VGPUs field was copied into the reverted VM but
the reference didn't point to a valid VGPU object since it wasn't recreated (it
was destroyed when the VM was originally destroyed).

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

Make snapshots with VGPUs revertable