icmp: fix potential misaligned memory access

Also makes use of encoding/binary package.

Change-Id: Ia771290aaccb936fbb7052abaaf96290a9ed4644
Reviewed-on: https://go-review.googlesource.com/19535
Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
9 files changed