sys: net: Initial import of a general interface to a network protocol

The definitions for the new network stack API
Why have another pointer (and 2-4 byte more for every platform depending on the platform) deeper down when you can have all the data on the same level?

Other answer: because I use it like this (very successfully, see [this file](https://github.com/RIOT-OS/RIOT/pull/1680/files#diff-c9f31549011537c676377310f256a821R1069) in #1680 e.g.) for months now and it would cost way more time than I'd like to put into it to change it to your approach ;-)