When a constant array of empty strings goes through contant folding, the result
is something that contains no bytes. If this array is passed to the intrinsic
function RESHAPE(), we were not handling things correctly. I fixed this by
checking for an empty destination when calling the function CopyFrom() on an
array of strings.
I also added a test with a couple of different examples that trigger the
problem.
This new 'if' statement might just hide bugs. Can copied be >= values_.size() and still be valid?