vfs: add vfs_check_permission_real for POSIX strict access()
Implement M2: POSIX access() with real IDs instead of effective IDs.
Added vfs_check_permission_real() function that uses current_process->uid
and current_process->gid instead of euid/egid for POSIX strict compliance.
The access() syscall now uses this function, while other operations continue
to use vfs_check_permission() with effective IDs.
This ensures access() behaves according to POSIX specification which requires
real IDs for permission checks, while preserving existing behavior for other
file operations that use effective IDs.
Test: make test-battery PASS (157/157), make analyzer PASS