test(repo-appearance): clean up scratch dirs from icon-store tests
The previous test fixtures created `prowl-icon-store-<UUID>` and
`prowl-icon-source-<UUID>` directories under `$TMPDIR` per test and
never removed them, so each `make test` left ~24 orphan folders behind
that accumulated across runs.
Replace the static helper functions with a small RAII `ScratchDirectory`
class. Each test now holds its scratch directories as locals; deinit
fires at end-of-scope and removes them. Verified clean after a full
suite run: 0 leaked directories.
Production code (`RepositoryIconAssetStore.liveValue`) is unaffected —
it writes to `~/.prowl/repo/<name>/icons/`, not `$TMPDIR`, and was never
the source of these orphan folders.