CP-8784: Add support for upstream Libxc

Currently* libxc's xc_domain_save will save just the memory image and expect
the toolstack to save the device model record but xc_domain_restore will
consume the device_model_record too. We need to detect whether we are running
in this environment and handle it as a special case.

* This should hopefully not be the case for much longer. There has started an
effort to upstream some patches to libxc to formalise a memory image protocol
and make the handling of the device model record symmetric across save/restore.

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>