Turn ppkt_t into an opaque struct.

All code using ppkt_t's should use the ppkt_* functions, not try to
access the members directly.
That should reduce the odds of messing up the internals, and keep the
code using ppkt_t's simpler.