Fix some ICMP bugs

- Correctly set echo reply packet length, and call icmpSend() rather than
  ipv4Send() so that the ICMP checksum gets re-computed with the updated ICMP
  type field.
- Handle incoming echo replies sanely; no need for interface matching
  when the network layer already does this.  Also got rid of a bug where
  the matched interface would carry over to the wrong packet.
- Document icmpSend() and icmpEchoReply() properly.

Now Windows will actually accept ping replies sent by Xinu because they
don't have the wrong checksum and aren't 34 bytes too long...!