Also use SystemTools::Fopen() instead of fopen(). This is to eventually support utf-8 filenames.
Create class cmVisualStudioSlnParser as a generic parser for Visual Studio .sln files. Implement minimum functionality but keep class extensible. Add tests for the class.