Fixes arp sends

The first time we'd send an arp, the arp would wait til it was a second
old (and maybe with other sendarps pushing it), instead of sending
immediately.  "ctime" ~= last sent time, though it's not always like
that (o/w I'd change the name).  Maybe it is "change time".
Fixes ICMP block reuse (checksumming)

c89 was unable to respond to pings.

It would attempt to respond, but the packet would get corrupted on the
way out, such that the "45" at the start of the IP header would be 00.

The root cause was that ICMP reuses the inbound block for the echo
reply, and the block flags were being reinterpreted.  It was not
clearing the block checksum flags.  c89's NIC was setting the IP and PKT
checksum flags on inbound packets, since the NIC already did those
checksums.  Theses flags were reinterpreted on the reply path to say
those checksums needed to be done again (in the checksum finalize).
But the checksum_start flag was set to 0xe, for whatever reason, which
clobbered the IP header.

Part of the issue is that the checksum flags are used both coming in and
going back out.  The only outbound flag used is Btcpck, but the
existence of the inbound flag was enough to trigger the outbound
finalize logic.
Clear all networking block flags in NIC frees

These two NICs use their own free method.  They clear the old checksum
flags, but not the TSO flag.  While the NICs don't use those flags yet,
there could be a potential taint issue where that flag gets carried
around the stack by accident.  Better to clear the flags aggressively.