By defining a virtual interface class for the scheduler client, users of
the kernel can now define their own event consuming infrastructure,
without having to spawn threads or rely on the scheduler design.
Removing CScheduler also allows removing the thread and
exception modules from the kernel library.
This concludes backport of core#28960
https://github.com/bitcoin/bitcoin/pull/28960/changes/d5228efb5391b31a9a0673019e43e7fa2cd4ac07
Depends on D20507