CP-8987: Use Sexp for Xenops header serialisation

We want to be able to extend the Xenops record in the suspend image in future
versions. We therefore require a serialisation format that supports optional
parsing. Sexplib has such functionality with sexp_option allowing us to add new
fields to new versions and still parse older versions with these defaulting to
None.

Unfortunately it is impractical to port sexplib to this branch so we will just
serialise by hand in a way that we know will be compatible with the upstream
deserialisation.

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
CP-8987: Add domain's Xenstore tree to the Xenops suspend record

Add everything under /local/domain/<domid>/ to the suspend image as part of the
Xenops metadata record.

This has been done so that it serialises in a way that can be deserialised
with the upstream xenopsd (using sexplib).

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
CP-8987: Don't log Xenops suspend image record contents

It is too large to log when reading and writing but will be of use when
inspecting a suspend image.

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
Merge pull request #1843 from simonjbeaumont/migv2-metadata

[xs64bit] CP-8987: Support extensible Xenops suspend image records