Implementation PersistentZoneIdentifer object without any writing and reading zone information. OS Windows uses NTFS alternative data stream Zone.Identifer to write and read zone information. Also due to lack of reading zone information some test cases fails.
--
v6: urlmon: Add PersistentZoneIdentifier implementation
urlmon: Add PersistentZoneIdentifier test cases
https://gitlab.winehq.org/wine/wine/-/merge_requests/8459
Before:
```c++
#define INITGUID
#include <unknwn.h>
const GUID& a() { return __uuidof(IUnknown); }
const GUID& b() { return IID_IUnknown; }
```
```
$ clang -xc++ -target i386-pc-windows-gnu -nostdinc -I include -I include/msvcrt a.cpp -masm=intel -nostdlib
a.cpp:3:26: warning: instantiation of variable '__wine_uuidof<IUnknown>::uuid' required here, but no definition is available [-Wundefined-var-template]
[...]
1 warning generated.
/usr/bin/ld: /tmp/a-7e5d2f.o:a.cpp:(.rdata$.refptr._IID_IUnknown+0x0): undefined reference to `IID_IUnknown'
/usr/bin/ld: /tmp/a-7e5d2f.o:a.cpp:(.rdata$.refptr.__ZN13__wine_uuidofI8IUnknownE4uuidE+0x0): undefined reference to `__wine_uuidof<IUnknown>::uuid'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
```
After: Creates an a.exe with no warnings. (With a() as entry point; figuring out how to give it a real entry point is offtopic to this MR.)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8494