Stricter receive functions for ethernet
Reworked ETH support

- ETH specific functions are compiled out if not needed
- strict checking against ethernet protocol vs IP protocol
- meet requirements for QA tests on invalid ETH packets (bug #182)
Allow TCP to be compiled with IPV4=0