xenapi: Make rescue safer

If rescue setup fails, detach the root disk from the rescue VM so it
doesn't get nuked by the undo stack logic in spawn()

bug 1227898

Change-Id: I8864b4c524f04f7b387be1018fea9919a461c48b
libvirt: ignore false exception due to slow NFS on resize-revert

When resize revert one VM instance, if the NFS is slow, the NFS
mounted on source host might not respond quickly. This will cause
that even if the VM instance configuration files was deleted from
resize target host, the NFS on source host may still think the
files were not deleted. Then in driver.py::finish_revert_migration,
the driver try to delete the file again, this will lead nova compute
throw exception.

The fix was ignore exception for such case: if failed to delete the
instance with error no as 2 (No such file or directory)

Fix bug 1206312

Change-Id: I89990c1750a7fd7f421cab03780e7704ee661de1
Actually fix info_cache healing lazy load

system_metadata is still being lazy loaded as a part of healing the
instance info_cache.  A previous attempt to fix this issue missed the
more important call.

It's actually more efficient to not load the system_metadata when getting
the list and allow the 1 instance to lazy load.  For the cached instances,
we will ask for system_metadata when getting a fresh copy from the DB.

Fixes bug 1223969

Change-Id: Ib95e868135ed2b36af7ddbcfb8d5905bfe14d1fe
Merge "Actually fix info_cache healing lazy load"
Merge "libvirt: ignore false exception due to slow NFS on resize-revert"
Merge "xenapi: Make rescue safer"