Allow alternative implementations of the device-model and domain builder (aka xenguest)

To use an alternative device model, first put a new executable in

  /opt/xensource/alternatives/device-model/name

and then set VM.platform:device-model=name

To use an alternative xenguest, first put a new executable in

  /opt/xensource/alternatives/xenguest/name

and then set VM.platform:xenguest=name

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