Implement CWin32Directory

like it was done for CPosixDirectory in PR #4838 by @mkortstiege 

* Rewritten from the scratch
* Added support for `DIR_FLAG_NO_FILE_INFO` flag
* Fixed `Create()` to return false if file (not directory!) with same name exist
* Files with `System` attribute treated as hidden
* Unified with Posix: files with name started from dot are marked as hidden
* Unified with Posix: if directory created with name started from dot, attribute `Hidden` is applied 

Now we can recommend addons creators to use directories starting from dot to store additional files (like `.clearart`) on media library and they will be hidden on all platforms.
C++11 - if we're OK with that on win32, then fine.