Consistency improvement for iinfo and oiiotool --info

iinfo and oiiotool (and for each, the whole image versus subimages)
didn't all match the order and nomenclature for their presentation of
volume, deep, and per-channel data formats. This makes them all match,
and in particular fixes the fact that oiiotool didn't say that deep
files were deep (but iinfo did).
Avoid unsigned-to-signed casts that would result in negative values when reading DPX X/Y offsets.
Fix SPI validation after DPX change
Add missing include.
Remove unused variable to fix compiler warnings.
Move header files around

Moved all the public headers from src/include to src/include/OpenImageIO,
so that the src layout more closely mimics the installed version.
In the process, I've removed pystring.h and replaced the very small number
of places where it was called with equivalent calls to things in Strutil.
oiiotool --pdiff is perceptual diff equivalent to idiff -p
Typo: perceptual diff was being run even when perceptual == 0
CHANGES and bump version for release
Rebuild PDF docs
DeepData -- add helper function channel_ptr() and deep_value().
Fix bugs in IBA::flatten

The main problem was that IBA::flatten was written assuming that alpha
values were "cumulative", but in fact they are "local". Also, we didn't
properly distinguish between the alpha & color channels that are
"premultiplied" values, versus the Z channels which are by definition
not multiplied by alpha.
Fix DPX handling of unsupported pixel data types

The general rule is that if a file type doesn't support the data type
requested, it silently substitutes a supported data type (usually one
that loses as little precision or range as possible).

DPX somehow lacked this logic, and we didn't notice until recently. In
particular, something like

    oiiotool in.dpx -d half -o out.dpx

Would result in garbage in the pixel, since it was not properly
converting types or substituting one actually supported by DPX.

The true supported types of DPX are uint8, uint16 (including 10 and 12
bit variants), float, and double. Now half will be output as float, and
all other unsupported types will be output as uint16.
Fixed a compilation error on Windows (QueryPerformanceFrequency takes a a pointer to LARGE_INTEGER as argument, not value_t)
oiiotool --dumpdata:empty=0

This option causes --dumpdata to skip empty pixels in a deep image.
Whew, makes output a lot easier to deal with when debugging with deep
file data dumps.
Marked string_ref and timer as exported classes