w.i.p changes for execsmp.
krnspinlock now takes an optional hook which is called when a lock is already held. exec uses this to inform the scheduler that tasks are spinning on a lock so that they dont prevent lower priority tasks from running (and therefore prevent them releasing the lock the higher priority task is waiting for).
protect access to scheduling lists in other public functions (TODO: clean up so they don't need to disable/enable/forbid/permit where possible)
git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@50649 fb15a70f-31f2-0310-bbcc-cdcc74a49acc