This commit optimizes the `scripts/ci_validate_repo.py` script to improve its
performance and memory efficiency during CI runs.
Key changes:
- Combined the size check and NUL byte check into a single-pass `validate_files` function.
- Implemented an early exit for the size check using `stat().st_size`, preventing
unnecessary processing of large accidental artifacts.
- Replaced `read_bytes()` with chunked binary reading (64KB chunks) for NUL byte
detection, significantly reducing the memory footprint for larger source files.
- Reduced the number of iterations over the file list and the number of system calls.
These optimizations ensure that the repository validation remains fast and
resource-efficient, even as the codebase grows.