bundle-to-string encoders buffer strings and flush

less pipeline traversals and fragmented bytebufs should be a good
thing. Also, we flush after each bundle. This isn't ideal per se,
but better than not flushing at all until the end.