stringapi: Use strings in Convert methods in LocalGenerator

The C strings were turned into std::strings internally anyways and most
callers used .c_str().
stringapi: Use strings in target name
FindCUDA: Fix a typo
stringapi: Use string for OS X resource names
stringapi: Accept strings when MD5 hashing data
stringapi: Use strings for output names in AddCustomCommandToOutput
stringapi: Use strings for AddSubdirectory paths
stringapi: Use strings for cache paths as arguments
stringapi: Accept strings when setting command errors
stringapi: Use strings for documentation names
stringapi: Use strings for generated file stream names
stringapi: Use strings for VS project names
stringapi: Use strings for search paths
stringapi: Use strings for globbing parameters
cmTarget: Remove the project argument to FindTarget

All callers passed 0 in, so just remove the branch.
cmTargetLinkLibrariesCommand: Use a string argument
stringapi: Take strings for utility command names
stringapi: Take strings in escaping functions
strings: Remove cmStdString references

Casts from std::string -> cmStdString were high on the list of things
taking up time. Avoid such implicit casts across function calls by just
using std::string everywhere.

The comment that the symbol name is too long is no longer relevant since
modern debuggers alias the templates anyways and the size is a
non-issue since the underlying methods are generated since it's
inherited.
Directories: Take strings when setting directories