The .beam container moved from ZIP to SQLite, but the docs/tooling still
described the old ZIP format.
- Rewrite BEAM_FILE_FORMAT.md as a normative spec of the current SQLite
container: file-magic identification, the four-table schema, the two version
numbers, the media model (kinds, packed/referenced storage, 4 MiB chunking),
derived media-id formulas, project.json top-level + key entities, save/load
semantics, the legacy-ZIP format + migration, large-media policy, conformance
and security sections, and known quirks.
- Port beam_inspector.py to read SQLite (auto-detecting container by magic,
with the legacy ZIP path preserved): a --media store view, packed/referenced
storage detection, and chunk-reassembling media extraction.
- Update beam_inspector_README.md to match.