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.~~
what about this return? By calling _msg_send interrupts are disabled (even if we are inside an ISR). But returning here just leaves them disabled...