CHANGES update
PNG: if sRGB is detected, don't set oiio:Gamma metadata.  Furthermore, it seems our notion of gamma is 1/ PNG's way of expressing it.
Remove deprecated custom setup for a SPI-specific Linux flavor no longer used.
Define a namespace alias 'OIIO' that gets you past all the custom namespaces in a convenient way.
Use tinyformat for typesafe printf-like formatting

All varargs error() functions are replaced here by an equivalent
function using tfm::format to do the formatting instead.  An effort has
been made to keep implementation details out of the headers by
introducing private non-formatting functions like
ImageInput::append_error() to be called by error().

tfm::format has been brought into the Strutil namespace to replace
Strutil::format().  Strutil::vformat() remains as-is, because it is
useful in certain circumstances where external libraries pass a va_list.

The error formatters inside ErrorHandler have not been changed yet,
since it's not quite clear what to replace the va_list functions like
ErrorHandler::vError() with.
tinyformat fixes
Fix or suppress warnings with clang
CREDITS correction
Cineon: remove buggy 32 and 64 bit output, which we don't need anyway
Fix oiiotool argument help + add man page generation

Some oiiotool command line options had empty doc strings, which caused
them to be completely ignored in the usage information given by
"oiiotool --help".  Fix this here by copying over the associated doc
strings from idiff, and updating for the more general context.

Also added oiiotool to automated man page generation.
Additional small fixes for tinyformat integration

Remove some spurious appearances of "static" in TINYFORMAT_WRAP_FORMAT
usage + small documentation tweaks.
Minor cmake tweaks and comment improvements
Fix mistake in last cmake checkin
Restore old-fashioned unsafe format as "format_raw", for those rare
times when you must have every last feature of printf, including those
that tinyformat doesn't handle (and are willing to trade type safety and
expandability to do it).

What do you know, we need this for Strutil::memformat and Strutil::timeintervalformat!

Which we didn't notice because we had no unit tests for them, which I also have
now added.
Fix roundoff error that was causing test failures and other weird results.
In IBA::resize, use divide rather than multiply-by-inverse to improve precision for filter normalization.
There are numbers for which x*(1.0f/x) != 1.0, wowee, and that throws off our filtering,
for example we can filter a flat 1.0 image and get result values that aren't exactly 1.0.
Implement variable width and precision arguments in tinyformat

Format specs starting with "%*.*" indicate a variable field width and
precision which come in order in the format string with the actual value
to be formatted coming after.

This change implements support for variable width & precision to enhance
printf() compatibility.  Various internals have been changed, most
notably introducing a FormatIterator class to keep track of the state of
the format string and any variable width/precision arguments inserted.

The interface remains mostly unchanged, though the function
formatValueBasic - which could theoretically be overridden by users -
has been removed.  In hindsight this was just rather complex, and it's
not clear it was necessary since users can override formatValue with
roughly the same results.
oiiotool --stats : print MIP messages correctly, it was only printing for the first MIP level
Merge branch 'master' of https://github.com/OpenImageIO/oiio