No longer tossing partial frames, saving the data to concat with future data.
On startup there can be some data loss, but after it gets rolling there is none.
Added rough provision to ensure the buffer doesn't get filled with bad data, but
the decodeFrames recursive calls do a pretty good job of getting rid of it so I
haven't seen the buffer grow after millions of frames coming over a UDP-based VPN.