Refactored unit test code organization
Fixed coding style
non-working unit test for vde dev
Added unit test. Fixed rbtree foreach/delete loop
Refactored pico_protocol.c
TICS: try to reduce complexity for pico_protocol.h to 0.
Second try to decrease complexity in pico_protocol.c
Revert "TICS: try to reduce complexity for pico_protocol.h to 0."

This reverts commit afaceb6309b9810d15e15fa9796f0cb0b75192bf.
Revert "Second try to decrease complexity in pico_protocol.c"

This reverts commit 84d1a21b4da5429e3f925c1768e4e5923b88cd08.
Another attempt to lower complexity (pico_protocol.c)
Fixed coding style protocol.c
Refactored pico_device.c to decrease complexity
Reset round-robin mechanism on new protocol insertion

If we ever have lazy-loading of protocols in the future...
Removed some dead code
Style fixed
Added ARP unittests

Created unittests for ARP, more are following.
Small changes to pico_arp.c:
 - Made private functions static
 - Fixed possible memory leak in pico_arp_request
 - In pico_arp_receive: dereference ptr after checking it
Added more ARP unittests
Disable Nagle's algorithm by default
Refactor of ethernet send & receive functions
Refactoring of TCP timers.