Creates an external-content FTS5 virtual table `email_fts` backed by
the `emails` table. Three triggers (AI/AU/AD) keep the index in sync
automatically. Schema bumped to v26; backfill runs on upgrade.
`searchEmailsGlobal` now issues a ranked FTS5 JOIN instead of
`LIKE '%word%'` scans, making search O(log n) via the inverted index.
Words are expanded to prefix terms (`word*`) so partial matches still
work.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>