Positions in the topology are handed out first come first serve.
This makes it hard to have a reproducable setup if the ZEP dispatcher is
restarted (e.g. to modify the topology).
Fix this by allowing to specify a MAC address for each node.
If a node with a pinned MAC address connects, it will always be assigned to
the same topology node.
Murdock does not support IPv6 on link-local interfaces.
Therefore in order to being able to use ZEP dispatcher in automated tests
on CI, we have to add dual-stack support.
There can only be a single sniffer, but instead of ignoring any subsequent
sniffers, replace the existing one.
This avoids the silly behaviour that you can't attach the sniffer anymore
should you ever quit it.
Forward data soly based on the real source IPv6 address, not the virtual
MAC address.
ACK frames don't have a MAC address and should still be forwarded to all
nodes in range.