make some methods of cmMakefile take const std::string& instead of const char*

Most callers already have a std::string, on which they called c_str() to pass it
into these methods, which internally converted it back to std::string. Pass a
std::string directly to these methods now, avoiding all these conversions.
Those methods that only pass in a const char* will get the conversion to
std::string now only once.
Merge topic 'cmmakefile-const' into next

84e265ec make some methods of cmMakefile take const std::string& instead of const char*