Watch callbacks on separate thread

When using the low-level watch callbacks, attempting to execute any Xenstore RPCs from within the callback was causing a deadlock. This patch introduces a new thread on which the callbacks are executed, freeing the dispatcher thread to respond to any rpc that happen on the callbacks.