Refactoring and added root tests to check TUN device functionality.
BSD's if.h doesn't #include it's dependencies.
Missing include on illumos.
Old GCC doesn't support stack canaries and variable size buffers, wrong Ethernet.h include.
broken BSD headers.
Bunch of completely useless includes.
BSD needs sys/socket.h
Illumos also needs sys/socket.h
Illumos also needs netinet.h
removed sockaddr_storage from the UDPInterface_pvt struct.
fun killer anti-aliasing rules
Endpoint allocator should not be forked in DIC.
Trying to fix apple TUN issue.
Revert "Trying to fix apple TUN issue."
This commit unintentionally included a bunch of refactoring which is not ready yet.

This reverts commit 5b2b84662e59252c7e3d9115d378b9b46ee7b835.
Refactored DIC interface to shift the duty of garbaging invalid peers (state caused by stray packets)
on to the MultiInterface. Added test.
Fixed bugs with OSX TUN handling.
Assert fail bug in IpTunnel and minor logging.
ignore junk ip6 packets in ip6 root test.
Skip failing test on Illumos because addIp4Address() is not implemented.
Workaround non-standardized TUN message types.
Also minor refactoring.
typo which caused failure on Illumos