oiiotool --origin and --fullpixels fixes

oiiotool --origin and --fullpixels did not correctly propagate their changes to the underlying ImageBuf's spec as well as the copy in the ImageRec. But some other opertions would check the IB directly to determine iteration ranges. So if you were operating on an image that was a crop window (i.e., different display and pixel windows), and did an --origin (or --fullpixels) followed by another operation that used the IB's range directly, you could end up with strangely offset results.

Also did just a tad more generalization in a nod to volumetric files (i.e. handle z offset and depth, just as we do x/y and width/height).