A community based topic aggregation platform built on atproto

feat(db): migrate content_labels from TEXT[] to JSONB for selfLabels master

Migrates content_labels column from TEXT[] to JSONB to preserve full com.atproto.label.defs#selfLabels structure including the optional 'neg' field. Changes: - Migration 015: TEXT[] → JSONB with data conversion function - Convert existing {nsfw,spoiler} to {"values":[{"val":"nsfw"},{"val":"spoiler"}]} - Update post_repo to store/retrieve full JSON blob (no flattening) - Update feed repos to deserialize JSONB directly - Remove pq.StringArray usage from all repositories Before: TEXT[] storage lost 'neg' field and future extensions After: JSONB preserves complete selfLabels structure with no data loss Migration uses temporary PL/pgSQL function to handle conversion safely. Rollback migration converts back to TEXT[] (lossy - drops 'neg' field).