Add C zstd interop tests and fix empty frame handling
Interop tests verify:
- Pure OCaml decompresses C-compressed data (test vectors from bytesrw)
- C zstd CLI decompresses pure OCaml compressed data
- Roundtrip works for various data sizes and compression levels
Fixes:
- Empty frame encoding now includes required empty block header (01 00 00)
- Empty frame decompression correctly reads block header before checksum
All 22 tests pass (9 zstd + 6 bytesrw + 7 interop).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>