xenapi: kernel and ramdisk missing after live-migrate

After a live migration is performed with xenserver, the kernel
and ramdisk images are not moved to destination.  This means:
* need to manually add them to the destination host
* need to manually clean them on source host

Adding the images is fairly straightforward by calling
create_kernel_and_ramdisk at post_live_migration_at_destination.
Removing images requires us to cache image ids as they are
taken from VM record which is deleted by the time the post
operation comes along.  We use the migrate_data to cache the
image data for removal.

The unit tests are adjusted to handle new calls for existing
tests.

Fixes bug 1224561

Change-Id: I741398db9ddb6764408878a11cf4c80544bbc901
Merge "xenapi: kernel and ramdisk missing after live-migrate"