core+daemon: eliminate scheduler::{schedule,cancel} wrappers

Also move core/global-io.hpp to daemon/global.hpp

Refs: #4528, #4883
Change-Id: I0b99029f1a19d7451aab57099cd3303b7eb42ff3
diff --git a/tests/wscript b/tests/wscript
index 7f5b321..9c17ad3 100644
--- a/tests/wscript
+++ b/tests/wscript
@@ -62,6 +62,10 @@
                 src += node.ant_glob('face/unix*.cpp')
             if bld.env.HAVE_WEBSOCKET:
                 src += node.ant_glob('face/websocket*.cpp')
+            if module == 'core' or module == 'tools':
+                src += ['../daemon/global.cpp']
+            if module == 'rib':
+                src += ['daemon/limited-io.cpp', 'daemon/rib-io-fixture.cpp']
 
             objmod = 'daemon' if module == 'rib' else module
             # unit-tests binary for the module