c_str cleanup

Implement interior null checking in `.to_c_str()`, among other changes.