Support volume preferences when picking the "best" asset file variation

Here’s the current implementation: https://photostructure.com/faq/what-do-you-mean-by-deduplicate/#how-does-photostructure-pick-which-file-to-show

This feature would replace the current schemeIdx variant sort criterion with a new volumeIdx variant sort criterion.

The volume index would be configurable through a new “variantSortCriteriaVolumes” setting that takes an array of strings.

  • Each string would specify either a URI prefix (pslib:, psfile://volsha), or a volume label, or a volume mountpoint.

  • First volume to match “wins”.

  • Variations on unspecified volumes would be considered “worse” than the last specified volume.

  • variantSortCriteriaVolumes would default to

      "pslib",
      "psfile",
      "file".
      "psnet"

which is the current default for schemeIdx: it prefers files found in your library, then files on volumes with UUIDs, and then locally-mounted files on volumes without UUIDs, and then remote file shares without UUIDs.

variantSortCriteria would then default to

      "resolution",
      "mtime",
      "volumeIdx",
      "isCover",
      "count",
      "isBrowserSupported",
      "fileSize"