Update String Functions, Include UTF-8 Support

This is the first in a series of PR's fulfilling some of the goals around international character support outlined in the Roadmap.

The first few PRs include some const-corrections as well to make integration newer const-corrected UTF8 features go more smoothly. 
Uses std::string functions rather than C.