BT 2

Added functionality to allow for tasks to be interrupted. Interrupt
conditions are tasks, atteched to InterruptibleTaskNodes, which return a
status of either BH_SUCCESS or BH_FAILURE; if the interrupt task
succeeds, the node fails, otherwise the node's assigned _task is ticked.