Fix: save/restore irq flags in TS_SYSCALL_IN_END

This patch replaces the local_irq_disable()/local_irq_enable()
calls in the TS_SYSCALL_IN_END macro with local_irq_save()/
local_irq_restore(), allowing the macro to be called
when interrupts are already disabled.

This fixes a bug where a CPU could deadlock upon itself
(on the rq->lock) when the user calls sched_yield().