CA-141366: Don't continue domain build if not enough memory

As part of the domain build, a function is called to wait_xen_free_mem which
will wait for the scrubber to free up memory and return a boolean when it is
finished or if it would never succeed. This changeset takes this value into
account when deciding whether to proceed with the domain build and fails if the
call to wait_xen_free_mem returns false like in then set_shadow_multiplier in
both the Xenops_server_xen and Xenops_server_xenlight modules.

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
Don't log all Domain build errors as Bootloader errors

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
CA-141366: Use a proper XenopsAPI error for Not_enough_memory

Rather than it just being becoming a generic "Internal error" later, we should
raise exceptions in the Xenops_interface where possible so clients can match
against them.

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
Merge pull request #1856 from simonjbeaumont/ca-141366-xs64bit

[xs64bit] CA-141366: Don't continue domain build if not enough memory