Don't use binary.Read for packet header

Switching to binary.BigEndian.Uint16 almost doubles the speed
of packet parsing.