Address concerns around set_string().

Add set_sized_string(), which is to be used when working with strings which
could have embedded NULL bytes.

Make set_string() use set_sized_string() internally. It just calculates the
length of the string and calls set_sized_string(). Under the hood everything
is stored as SIZED_STRING still.

Address every place that was using the old set_string() with a length. There
is now no need to pass a length. Only exceptions are around the rich
signature pieces which can contain NULL bytes so they are now using the new
set_sized_string().