Simple fix of using unbuffered subprocess.PIPE uncovered a trickier bug
where the lack of timeout on initial readline call would pull data from
the first real packet, throwing off subsequent reads.
Doesn’t seem necessary to preserve a read buffer across recv() calls,
especially if it isn’t implemented correctly.