PIVX didn't work on unicode paths under windows



On windows when username contains unicode symbols the PIVX crashed.
In general it caused by using char for path strings instead of wchar_t.

There are several points when it happen

  1. Using A functions instead W in util.cpp
    like SHGetSpecialFolderPathA instead of SHGetSpecialFolderPathW
    in boost::filesystem::path GetSpecialFolderPath(int nFolder, bool fCreate)

  2. using string() function of the
    instead of wstring() for paths operations

  3. using boost::file_lock (it can be fixed with providing shortname of lock file)

  4. using boost::directory_iterator that internally work with chars instead of wchar_t