Final part of string move-semantics branch
Final part of string move-semantics branch

It is not clear why the clean-up of the 'to_string' family
of functions testing ended up on the move-semantics branch,
unless it was to verify the likely benefit of moving the
result out of the functions (more likely pre-empted by
the return value optimization).  However, this is the final
part of the sequence of merges from the reviewed branch,
and a messy interleaved diff in its own right, separated
from the main sequence.

che2/bde,bloomberg/bde,bloomberg/bde,bloomberg/bde,che2/bde,che2/bde,bloomberg/bde,bloomberg/bde,che2/bde