InterlockedExchangeAdd64 implementation for XP

Prevent OpenImageIO.dll to fail when dynamically loaded on XP.
Compilation for the XP target must be explicitely selected.
Fix strutil.cpp for WIN32

Prevent collision with max() macro
Back out thread.h changes from a while back -- they had unintentional
performance degredation.  It was incorrect to force only one of
USE_GCC_ATOMICS and USE_TBB to be true; there were some places (such
as atomic_compare_and_exchange where the gcc intrinsics were used if
available, even if TBB was being used, and apparently the gcc intrinsics
were much faster.
CHANGES and bump version for 1.1.7
Use $(error ...) instead of exit 1 to fail a Makefile.
Allow shared library suffix to be overridden
A variety of changes to SPI specific build to support OSX:
* Replace deprecated $(ARCHITECTURE) with $(SP_OS).
* Use $(SPPYARCH) more often.
* Use $(SP_OS) instead of $(SP_ARCH).
* Currently a minimal Mac OS X SpComp2 build only requires $(SP_OS).
  Since all our operating systems are 64-bit, there is no need for
  $(SP_ARCH) to distinguish between 32- and 64-bit operating systems.
* Replace $(platform) with $(SP_OS) and "macosx" with "lion".
* The SP_OS name for Mac OS X 10.7 is "lion".
IBA::channel_append() / oiiotool --chappend and oiitool --chnames

channel_append (oiiotool --chappend) takes two input images and produces
an output that is the channels of the two images appended to each other.
For example, appending rgba.exr and z.exr will give you a rgbaz.exr.

oiiotool --chnames lets you rename some or all of the channels of an image.
Filesystem additions: parent_path(), get_directory_entries().
Allow oiiotool to loop over image sequences.

Image sequences are specified by having filename arguments to oiiotool
use either a numeric wildcard (designated by '#') or an explicit numeric
range (designated such as '1-10#').  In effect, this will execute the
oiiotool command several times, making substitutions to the sequence
arguments in turn.  For example:

    oiiotool big.#.tif --resize 100x100 -o small.#.tif

if there are files big0001.tif, big0002.tif, and big0003.tif, will be the
equivalent of having issued the following sequence of commands:

    oiiotool big.0001.tif --resize 100x100 -o small.0001.tif
    oiiotool big.0002.tif --resize 100x100 -o small.0002.tif
    oiiotool big.0003.tif --resize 100x100 -o small.0003.tif

The following is also equivalent:

    oiiotool big.1-3#.tif --resize 100x100 -o small.1-3#.tif
CHANGES, docs, bump version for 1.1.8
Extreme resize test
oiiotool: More careful selection of filter for resizing.

Previously, in cases of large maxification (zooming in), the entire
filter could fail to cover any source pixels, resulting in black grid
lines in the output.  Now we make sure that when the destination pixels
are higher frequency than the source pixels, that the filter is
constructed to be wide enough in "source pixel space."
testsuite ref images for new resize tests
Ensure uniform printing of nan and inf
Helps to make certain testsuite output identical cross-platform (fewer
spurious failures due to printf differences)
Simple uniform way to extract optional arguments from oiio commands
oiiotool --fit improvements: fix subtle bugs with aspect ratio preservation
for images with differing data and display windows; allow "filter=..."
option to select the filter (as originally advertised but not implemented).
IBA::resize() improvement -- instead of "clamping" at the image edge, just
don't consider nonexistant pixels at all. This solves some artifacts for
certain resize situations, as well as simplifying the logic.
oiiotool --frames and --framepadding give more wildcard flexibility.

When using oiiotool with numeric wildcards ("foo.#.exr"), rather than
rely strictly on matching exiting filenames, the --frames option allows
for explicit flexible frame sequence specification, and --framepadding
overrides the default number of digits (with leading zeroes) for frame
numbers. Examples of frame sequences now supported:
    10,11,13,14       Commas separate subsequences
    10-14             Range
    10-14x2           Range with step (matches 10, 12, 14)

Putting it all together, you can have a command like

   oiiotool --info --frames 10,18,20-30x5 --framepadding 3 foo.#.exr

would match foo.010.exr, foo.018.exr, foo.020.exr, foo.025.exr, foo.030.exr
IBA::resize speedups
(1) switch to fully specialized, Iterator-based
(2) parallelize!
(3) adjust filter radius, it was rounding up too high