When the watchdog restarts xapi, invoke a full fork(),exec() rather than just a fork().
There are three benefits:
(1) this allows you to update the xapi binary and then use 'xe host-restart-agent'
(2) top-level module declarations are re-evaluated and side-effects re-performed. This is particularly important after changing between a master and a slave, since this information is currently cached on demand. If you accidentally 'demand' the information before the fork() then it used to be persisted over the fork.
(3) a xapi internal-start is now exactly the same as 'service xapi restart' (rather than there being subtle differences)
Signed-off-by: David Scott <dave.scott@eu.citrix.com>