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.
@kaspar030 reading `_msg_send()` you'll notice that every exit/control hand off is prefixed with a `restoreIRQ`. Did you overlook this?