Print checksum in hex, print the actual checksum, cleanup

The checksum is printed in decimal, but it's better as a 4-byte hex field.
Added the checksum offset so we actually read the checksum, not the version
and TTL again. Changed some integers to meaningful #defines instead.

Resolves the second part of #401.