JSA: group also by ASNID in _COADD_JSA_TILES_

This primitive now goes through all the frames during the frame
stage and adds the JSA public association ID as a uhdr.  This
uhdr has been added to the subgrps keys list to ensure that
tiles from different associations are not co-added.  To do this
the code for selecting the frame class has been extracted as
a subroutine, and since the group stage no longer needs to
determine the backend, the instrument-specific co-add recipe
is now chosen by the primitive search path mechanism rather
than being selected explicitly based on the backend.
JSA: add primitives to allow untrimming JSA tiles

The new _UNTRIM_JSA_TILES_ primitive untrims the JSA tiles in the
frame so that each covers the whole area of its tile.
JSA: create untrimmed tile previews for co-adds

When generating preview images for co-added JSA tiles, the tiles are
first untrimmed to create a temporary file which covers the whole
area of the corresponding tile.  This temporary file is then used to
generate the preview image only.  The reasoning behind this is that
the JSA tile is notionally the whole predefined HEALPix tile, and
therefore this is what we should be showing a preview of, regardless
of the fact that we may store trimmed data arrays for efficiency.
The useful result should be that all the tile previews for each
instrument should be the same scale.