Retire c_str_on_remote_string as a future, open new related future

The intended functionality of c_str_on_remote_string works correctly,
but the test was still failing due to reasons that have been spun out
into write_c_string.

write_c_string.future:

bug: c_string variables should not be used with write

c_strings are only valid in the locale they were created on. Trying to write
one from a locale other than the channel's home will cause the use of a bad
pointer. We should disallow the use of c_string in our IO system. If users
really want to print one they can cast to string.