actually use of msg_queue in ip.c

msg_queue is defined but never used, hook it up so IP packets get queued instead of dropped when there is more than one.
also add msg_queue for UDP

All other layers in the network stack use a msg_queue to not drop messages, which in this context represent packages.
This finally fixes the random crashes when UDP network traffic is present. Turns out RIOT is not handling lost messages well.