Tweak IBAPrep - usually copy src's display window, but option not to.

Previously, it just set an uninitialized dst's display window to the data
window, but that's often not right for cropped images. Usually, in fact,
it should copy the source image's display window. But for a few ops, that's
the wrong thing to do, so we give a flag option not to do it.
Rewrite flip, flop, flipflop: do them with respect to display window.

It really doesn't make sense to do these transformations within only the
data window. These operations should be with respect to the display
window. Thus, we now follow the principle that "any operation on a
shrink-wrapped image should have the same result as doing that operation
on a non-shrink-wrapped image." (Shrink-wrapping means reducing the data
window of an image to include only the smallest rectangle containing all
of the non-black pixels. It's a data reduction technique, but should not
change the semantics of the image operations.)
Test cases for flip, flop, flipflop, transpose with crop windows
Clarify ImageBuf documentation
oiiotool --orientcw, --orientccw, and --orient180 are the new names
for --rotcw, --rotccw, --rot180. The old names were confusing, and now
it is more clear that these merely adust the Orientation metadata that
suggests viewing orientation, rather than actually rotating the image
data.  The old names are deprecated, but for now are silently accepted
as synonyms.
IBA rotate90, rotate180, rotate270 and oiiotool --rotate90, --rotate180, --rotate270

Rotate the actual image pixels.
Add ImageBuf::set_orientation() to alter the image's Orientation metadata.

Also, internally, remove the m_orientation member variable and just directly
query the spec for Orientation when needed. There were circumstances where
keeping it separate could result in the ImageBuf::m_orientation being out
of sync with the spec's Orientation metdata.
IBA::reorient and oiiotool --reorient

Rotate/flip/flop pixels as needed to make them match the suggested
display Orientation metadata (which is then set to 1 = normal view).
oiiotool --autoorient will do --reorient for every input.
This is helpful if you are using oiiotool to combine images with different
orientations.
Merge pull request #924 from lgritz/lg-reorient

Massive refactor and amendment of orientation functionality