[UR] Implement IPC physical_mem API in UR (#22115)
Implement `urIPCGetPhysMemHandleExp`, `urIPCPutPhysMemHandleExp`,
`urIPCOpenPhysMemHandleExp`, and `urIPCClosePhysMemHandleExp` across all
adapters.
**Level Zero v2 adapter (full implementation, Linux only)**
Uses DMA-BUF fds exported via `zePhysicalMemGetProperties` and
cross-process
fd duplication via `pidfd_getfd(2)` (Linux 5.6+). New files
`v2/physical_mem.hpp`
and `v2/physical_mem.cpp` replace the shared `physical_mem.cpp` for the
v2 build.
`UR_DEVICE_INFO_IPC_PHYSICAL_MEMORY_SUPPORT_EXP` is `true` on Linux,
`false` on Windows.
**Level Zero v1 adapter** — unsupported stubs; device info returns
`false`.
**CUDA, HIP, OpenCL, Native CPU, Offload adapters** — unsupported stubs;
device info
returns `false` where applicable.
**Conformance tests** — four new test files (`urIPCGetPhysMemHandleExp`,
`urIPCPutPhysMemHandleExp`, `urIPCOpenPhysMemHandleExp`,
`urIPCClosePhysMemHandleExp`)
with shared fixtures; `urPhysicalMemCreate` updated to cover the
`ENABLE_IPC` flag.
---------
Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com>