TS-1988 Unscrew cquuc and cquup

Here's what happens, and this is the same problem as with cquuh,
which I'll fix in a separate commit:

When producing log entries, we call the marshal function twice:

     first to calculate the final length of the string
     a second time to actually write the string

This two-phased behavior is controlled via the "buf" parameter. With
a NULL value, it means to only calculate the length. With the changes
made to cquuc/cquup, the lenghts were not properly calculate, which
is exactly the problem with cquuh as well.

So, it's important to always calculate the correct length, and
return that. Which is confusing, since the buf parameter seems
to have been in place to make sure we don't write to a NULL buf.
TS-2216 Fix cquuh log tag, which does not calculate the right
string length. Also see TS-1988.