ICMP handling

The ICMP implementation is fairly minimal. Only the implemented functions are documented. Many diagnostics can be enabled by setting the equate ICMPMON? to non-zero.

See ICMP.FTH.

: ICMPcksum     \ *pb -- flag ; 0 for a pass
Generate the ICMP checksum. When used to check an ICMP header, it will return 0 for a good checksum.

: EchoRequest           \ *pbuf *icmp -- ; got a ping
Handle a PING request.

: RxICMPPacket          \ *pbuf -- ; OK so we got an IP packet
Handle an incoming ICMP packet.