This eliminates race conditions around unregistering netdevs.
gnrc_netreg_lookup-style functions perform a DEVELHELP check on whether
that lock is held.
Moving to a pointer-based API simplifies a lot, since there is no need
for an internal pool of entries anymore. Therefore, a lot of
organizational overhead and some restrictions (e.g. an upper limit on
entries) are dropped.
The entries can be stored in the stack of the respective thread.