During a cross cell resize, we do an instance snapshot and
then we spawn() instance back on target cell.
Unfortunately, we mistakenly spawn back the instance to its original
image id, instead of using freshly created snapshot_id.
The change proposes to update instance.image_ref with snapshot_id
in order that spawn()->_create_image() uses it and set back
instance.image_ref after.
Note that for qcow2 backend case, we also need to rebase disk image
with its original backing file to avoid mismatch between
instance.image_ref and backing file, as we currently do in unshelve
context.
Change-Id: I0b81282eba8238d8b64a67e38cf9d6392de1f85c
Closes-Bug: #1906428