Don't "synchronise" domain 0's state with xenopsd

This results in domain 0's power_state being set to Halted, and
then the metadata being destroyed.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Support multiple xenopsds, configurable per-VM

To override the default xenopsd set:
  VM.other_config:xenops = org.xen.xcp.xenops.NAME

Observe the following changes:
  1. xapi needs all configured xenopsd to be online before it can
     complete the initial VM sync. The xenopsd list is hardcoded.
  2. the control domain's power_state is not being synchronised
     with any xenopsd because (a) we always assume it should be
     Running, anyone who sets it to Halted triggers horrible bugs;
     and (b) which xenopsd should "own" it anyway?

Signed-off-by: David Scott <dave.scott@citrix.com>
xenopsd: read list and the default setting from the config file

xapi startup doesn't fully complete unless it can contact all
the xenopsd instances it wants to manage. It's easier to setup
a working system if the list can be tweaked via a config file
rather than a recompilation.

Although it's possible to override a xenopsd per-VM, it's also
convenient to set a host-wide default via the config file.

Signed-off-by: David Scott <dave.scott@citrix.com>
Remove ocaml/xenops: this is all stale code

Signed-off-by: David Scott <dave.scott@citrix.com>
Remove ocaml/rrdd: this is all stale code

Signed-off-by: David Scott <dave.scott@citrix.com>
Remove Vmopshelpers

Note we still have small dependencies on Xenctrl (boot time memory)
and Xenstore (VSS snapshots)

Signed-off-by: David Scott <dave.scott@citrix.com>
Fix the RPM build

Signed-off-by: David Scott <dave.scott@citrix.com>
Support legacy Unix domain sockets as well as the message switch

Note the support for multiple xenopsds won't work without the message
switch.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Let xapi start even if Xenctl doesn't work.

If we can't query the physical CPU/sockets information we assume
a safe default (1 core, 1 socket). If we can't query the xen
capabilities then we return the string "unknown"

Signed-off-by: David Scott <dave.scott@citrix.com>
Merge pull request #1723 from djs55/from-xenserver-core-queues

Support multiple xenopsds, running at the same time