feat: verify CID hashes in CAR parser
car.read() now SHA-256 hashes each block and compares against the CID
digest. this is the correct behavior for untrusted data from the network.
car.readWithOptions() accepts a verify_block_hashes flag to skip
verification for trusted local data.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>