remove unnecessary toString while string encoding

it was converting a StringBuilder to a String, but since both
implement CharSequence, StringBuilder should work just as well
without the toString call.

The toString allocates a new string based on a copy of a substring
of the string builder, so it can be a non-trivial waste. I looked
through the jdk code and (unexpectedly) found no unexpected logic
that will run differently. There is some "use arrays" when avail-
able logic that looks for the underlying char array of a string,
but the CharBuffer.wrap() method does not seem to expose the char[]
despite a mysterious comment about doing so via reflection. Even
if it did do some janky, secret instanceof String reflection though,
the "use arrays" logic also requires the destination buffer to be
array backed. We are using NIO byte bufs because these encoded
strings are moments away from being written to the wire, so that
would never trigger anyway.