Fix memory leak of IBs when processing frame ranges
Some instrumentation in the IB for debugging memory use
Filesystem::open fix: For win32, seek to beginning of file after the open.
It seems that for some MSVC versions, after the open the stream isn't
positioned automatically to the beginning of the file, ugh.

Suggested by cometyang (github id)
Merge updated tinyformat that works arounds some bugs in old glibc
Clean up for tinyformat version 1.2

The new version of tinyformat should fix the "%+d" issue on OSX, so
re-enabled the test just to be sure, and remove old workaround code in
oiiotool.  Also a tiny change to align with tagged 1.2 version of
tinyformat.
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

Use CMAKE_CXX_FLAGS not CXXFLAGS

Adjust to allow turning on tbb to prevent gcc atomics

Move arch test under FreeBSD

Remove tests surrounding gcc atomics use
Remove undefined functions superseded by Strutil.

Strutil::utf8_to_utf16 and Strutil::utf16_to_utf8 replaced path_to_windows_native and
path_from_windows_native respectively.
Fix MSVC cast warnings.
Explicitly convert to UTF8 native arguments in each tool.

An ArgParse instance does not necessarily use the process command line
parameters, it is only the original arguments in the "main" entry
point which need to be converted. Otherwise custom command lines, as used
by oiiotool, would be replaced by the one used to create the process.
Do not rely on the shell to expand wildcards for the oiiotool test.

This fixes the test for Windows, where unlike bash the shell does not expand wildards.
Utilities for filenames with frame number sequences
oiiotool -- support more flexible frame number sequence wildcards
CHANGES update and bump version to 1.3.2-dev (just 'cause)
Several XMP & IPTC metadata handling fixes:
* Broken 'for' loop would add keywords under the wrong IPTC tags (stupidly
  used the same named iteration variable in two nested loops, leading to
  hilarity as usual).
* Accept XMP "dc:keywords" as synonym for the more standard "dc:subject".
* Strip spaces in some places where it needed to be done.
* Add semicolon where it was needed, oops a typo 'out + "; "' that should
  have been 'out += "; "', D'oh!
* Guard against IPTC data that is TOO large (it ends up encoding the length
  as a 16 bit int, so we truncate if it's bigger).
Reduce the amount of time that Image{Input,Output}::create holds the lock.
We need to lock while manipulating the array of create functions, but not
while we're *calling* the create function (which is the expensive part)
or doing other tasks. Also, for II::create, rearrange a little to reduce
the number of separate lookups in the map.

This should speed up OIIO's file open time when multiple threads are trying
to open image files simultaneously.

Suggested by Michel Lerenard.