Change the set_utf8_string API on base_string

Will move this up to base_type as a common way to deal with strings
from types