`len` and `count` are both values that should never go `< 0`, so instead of
having to test this (in theory) every time the function is called (regardless
of by assert or if its unnecessary code), I propose to change it to `size_t`.
As a bonus I made the type of recv's buf parameter generic - no reason for it to
be a char and it might lead to unnecessary static casting requirements
On OS X, `netdev2_tap` suspends monitoring file descriptor until `_recv` is
called. If no spaces in left in pktbuf, `gnrc_netdev2_eth` does not call `_recv`
that results in deadlock.
With this commit, `gnrc_netdev2_eth` calls `_recv` with NULL buffer and non-zero
length parameter, that indicates the driver to drop frame and resume working.