net: Initial import of a global packet buffer

Cleaner alternative to #1129. Queue in #1640 

This is basically a static malloc + sugar
Since I realized just yesterday, that I have to redo `pktbuf_copy()` anyways, i'll change this in `_pktbuf_find`, too.
But to answer your question: `pktbuf_hold()` and `pktbuf_release()` would be pretty useless, if they just search for the beginning of a packet. Consider this simple everyday scenario: radio receives packet, stores it in `pktbuf` via `pktbuf_copy()` and hands payload over to MAC, MAC wants to hold this data and calls `pktbuf_hold()` on the pointer somewhere in the original data stream, since it does not know the original beginning.