Refactor PP5 comparison handling

Introduce PP5GalleryTransform, a transform that compares incoming templates
against a fixed gallery (thereby avoiding the cost of repeatedly setting up
pp5 galleries for the same templates).

Modify AlgorithmCore to support supplying Transforms to the right of the
: in an algorithm string. If a distance cannot be created (testing if
defaultDistance is returned from Distance::make), store the comparison
part as a string, and use it to make a replacement for GalleryCompareTransfrom
in calls to AlgorithmCore::compare

This commit essentially disables DefaultDistance (which could previously
be used as a shorthand for DistDistance with some specific metric),
instead leaving DefaultDistance as a non-functional distance.
I mean, the issue in algorithm core is we may get a distance as the right side of an algorithm (which is the usual case), or we may get a transform like the one introduced here that defines a comparison against a gallery.
The check for DefaultDistance is a (not very good) check for failed distance creation, so that we know to make a transform instead. idk what you would do that eliminates the need for some kind of check there.