Split CString::new into CString::new and CString::new_owned

This is a fix for #18117
s/i8/libc::c_char/