Add embed_json column + PostEmbed types to post_snapshots
Introduces the PostEmbed tagged union (images/video/external) and
threads it through PostSnapshot, the ClickHouse store (insert, select,
group by, both tombstone paths), and TopPostsResult. Stored as opaque
JSON in a new post_snapshots.embed_json column; empty string maps to
null on read. Quote-post filtering is intentionally deferred to the
parser layer in a later task.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>