Fix StringListBuilder bug where consecutive buffers with no newlines could not be correctly assembled.

StringListBuilder was rewritten to operate directly on `ByteBuf`s instead of `byte[]`s.  This ended up saving one copy.