Perform output corking on PipeProducers.
Remove debug aid.
Split out decoding in XCodecPipePair.
Break out framed data decoding.
Cork encoder when decoding; decode multiple frames at once.
Check for output cork each place we try to output.

This lets us check some invariants in output_do().
Merge code for handling produced output.
The smallest meaningful cache limit is 1 segment.
That most streams aren't 2048-byte aligned is no shock.