8899ecd6

By: Michael Lynch <git@mtlynch.io>

Validate width in MediaFilename and add error case tests

MediaFilename now rejects widths that have no corresponding stored file
(e.g. 850px for video, or arbitrary widths for photos). Tests cover both
the new error paths and the previously untested full-size variants.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>