Further taskmgr refactoring
Just dumping notes/ideas:
- schedule events directly onto the worker loops, not tasks
- thus events will have to attach to task (or just reference count running events)
- as the last event schedule conditional task cleanup (move the logic from task_run there)
- use isc_queue_t to store task events instead of locked LIST to remove contention
This should further simplify the taskmgr logic.