Improved removal of SHA-1 hash upon reading in oiiotool and for IBA

This is a continuation of the recent checkin related to this.  When
reading in oiiotool, or when preparing destination IB's for IBA
functions, we had removed any actual "oiio:SHA-1" metadata.  But this
patch also ensures that any hashes embedded in the "ImageDescription"
are also removed.

Also, in IBAPrep, use flags to determine how much metadata should be
copied when initializing the dst image.
IBA and oiiotool 'cut' -- similar to crop, but moves to origin.

Remember that crop() is supposed to just adjust the pixel data window
and throw out any pixels outside the new ROI, but leave the pixels
within the ROI in their original position on the image plane.  If you
imagine an image to be a photograph glued to a page (image plane), crop
would trim the edges of the photo but leave the retained portion glued
to the same spot as always.

But this was very confusing to people, who frequently assumed
incorrectly that the ROI would be repositioned at the image plane origin
(cut out the rectangle, pick it up off the page, and re-glue it aligned
to the corner).

So... now we have a new function, ImageBufAlgo::cut() and oiiotool --cut,
which both do what people imagined that crop did.  It may be hepful to
realize that 'oiiotool --cut <geom>' is equivalent to
'oiiotool --crop <geom> --origin +0+0 --fullpixels'.

I also fixed some confusing behavior of oiiotool --crop, I think it did
not do the right thing if given geometry that was the same size as the
old pixel window, but merely repositioned. I now believe it is correct.