Fix to Macro-fu checkin -- original did not work on VS2010
Slight macro improvement -- makes robust to certain substitutions involving *R
FreeBSD: Ensure only one of USE_GCC_ATOMICS or USE_TBB is defined
Includes addition of -march=i586 when building for i386 target
this ensures that instructions for gcc atomics are available to compiler
Adding a swap command line option for swapping the top two
layers of the stack.
Document oiiotool --swap, also check error condition.
oiiotool --fill : bug fix, was zeroing out image instead of filling on top.
Also alter --create to specifically make a float image internally, since
so many operators take only float. Add test that fill works.
CHANGES update
Texture: make sure wrap mode "black" wins over "fill" value when they conflict.

Wrap mode "black" directs texture lookups outside s,t [0,1] range to
return 0.  The "fill" option gives the value used for channels requested
but which are not in the map.  What happens for channels not in the map,
for lookups outside [0,1] (when "black" wrap mode is used)?

The previous behavior was to use the fill value for missing channels
everywhere (even outside [0,1] when "black" wrap was specified).  But
upon reflection, we believe a better behavior is that those
out-of-st-range lookups should be black in all channels, regardless of
the fill value.
Ensure uniform printing of nan and inf
Helps to make certain testsuite output identical cross-platform (fewer
spurious failures due to printf differences)
Adjust some test comparison thresholds for better platform-to-platform behavior.
Better testsuite cross-platform robustness by allowing multiple matches.

This is actually porting some guts from the runtest.py from OSL's
testsuite, which had the clever strategy that, if an output doesn't
match its version in the ref directory, will test against every other
file in the ref directory hoping for a match.  This means you can have
multiple references, if for some reason you expect them to differ a bit
per platform and have no other good way to rectify it.
Alternate reference that seems to be necessary on some platforms, probably due to different libjpeg implementation
Merge pull request #515 from lgritz/testsuite

Fixes to make testsuite match better across platforms
Compiler warnings - signed vs unsigned comparison
Compiler warnings - redundant semicolon after namespace block
Important bug fix to recent 'wrap mode' chanage
Implement new rule for ImageOutput: if the spec passed to open() has
spec.format == UNKNOWN, then select a default data format for the output
file that is "most likely to be able to be read."  Also,
ImageOuput::open() will never fail because a requested data format is
unavailable; a reasonable default will always be chosen.

Along the way, fixed a few buggy behaviors in some of the plugins for
certain format combinations.
Assertion improvements:
* Use sizeof() trick to avoid compiler warnings when DASSERTs are
  disabled for non-debug builds.
* Key off the standard 'NDEBUG' rather than our weirdo DEBUG macro.
* Printf-safety for ASSERT_MSG by making the condition a %s argument
  instead of part of the format string.
* Change message variants to ASSERT_MSG and DASSERT_MSG (more similar to
  proposed C++11 nomenclature).
* Remove unused ABORT 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.
Allow IB::Iterator ctr that takes an ROI to also take the 'unclamped' flag.
Also some simplification of other constructors.