Limit the maximum data size of a packet.

It was already sort of limited by protocol, but it would silently
break if the input intended to exceed that size.  This truncates to a
detectable size and panics if the remote end sends something larger
than the maximum size.

Longer term, I'd probably just want to hang up or something if the
size is exceeded, but I'm not even sure this ever happens.