Add a task-switch interrupt
Add a task-switch interrupt

Without this addition, kernel threads could "forget" their state if
they directly invoked task_switch(), causing code to be "skipped"
and excecution to resume at the location where a prior interrupt
occured. In particular, this prevented the semaphore implementation
from working correctly.

escortkeel/k-os,escortkeel/k-os,escortkeel/k-os