c3c49ab5

By: Michael Lynch <git@mtlynch.io>

Rewrite image publish tests as table-driven, add shared param/error fields

Convert TestServicePublishesImage and add TestServicePublishesAnimatedImage
to table-driven tests covering the same scenarios as TestServicePublishVideo
(success, unrecognized error, translated domain error, store insert error).
Add fileID and itemToPublish fields to each table so the values passed to
the service are visible in the table rather than duplicated in the run
function, and share errSomeUnanticipatedError/errStoreUnavailable across all
three tests at package level.

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