core/msg: use disable/restoreIRQ

* needed to change internal `msg_send` to allow external disabling of interrupts

**Disclaimer:**
This is not beautiful, but I thought it's better than the status quo and might serve as a starting point for discussion.
After more thinking, I'm not sure this works as expected.
This will restore IRQ state on reply reception to the state before sending the request.
This will disable IRQ, then switch to other threads. Whatever they do, IRQs are disabled. Imagine a hwtimer_sleep() in the thread receiving the msg_send_received message, that would never return.

I think we have to just protect this function with a pair of disable/restore and then call the old msg_send.
Don't know if it can cause problems if active_thread is REPLY_BLOCKED, though...