maketx: Fix conflict between --checknan and --fixnan.

If both were specified, it would checknan first, erroring out before
getting the chance to fix it. Now, if both commands are specified, it
does the fix first, then the check. (Not completely superfluous -- it
is conceivable that fixnan can not fully fix it, for example if there
are extended NaN regions over which the box3 solution can't fix things.
But usually, you wouldn't want to check if you fix.)
Bump version for future development
Add Strutil::starts_with and ends_with, to go with the 'i' versions
SPI builds to use clang-3.4.1
CMake 3.0 compatibility:

CMAKE_CXX_COMPILER_ID may be "AppleClang" rather than "Clang" if it's the
separately versioned Apple variety on OSX. Make the test robust to either
by using MATCHES instead of STREQUAL.
Strutil: add simple functions for easy parsing from string_view's
New Filesystem utility functions: create_directory, copy, remove, remove_all,
temp_directory_path, unique_path.
Better font searching.

Instead of searching for just one default font if none is specified,
have a list to search. Any one of them will prevent a total failure
of IBA::render_text().
TIF output support of Exif (only available for libtiff >= 4.0.2)

Earlier versions of libtiff (including the version that was current when
we added Exif reading to our tiff support) supported reading Exif, but
not writing Exif. Later versions of libtiff have added this capability.
Make TIFF error message storage thread-safe
Add missing EXIF 2.3 tags. A small number were not present in our table.
Merge pull request #882 from lgritz/lg-exif

TIF output support of Exif (only available for libtiff >= 4.0.2)
CHANGES
Tighten up error propagation through IC, IB, and oiiotool.

Now we get nice helpful error messages if any of the input images are
corrupt or incomplete.
Merge branch 'master' into cmakefixes
Merge remote-tracking branch 'lgritz/lg-incomplete' into cmakefixes
oiiotool --nosoftwareattrib suppresses the altering of Software & ImageHistory
fields upon output.
Workaround for USE_CONCURRENT_MAP seg fault on 32 bit systems with gcc 4.2.

Very few people are on 32 bit systems, let alone using a gcc so old, so
don't sweat the lower perf of turning USE_CONCURRENT_MAP off in that
case.  It's not even worth trying to track down exactly what's wrong.

Also note that all we know is that it core dumps with gcc 4.2, and is
fine with gcc 4.6 and 4.8. It's possible that we'll need to adjust the
test to also exclude other old gcc's, but we'll cross that bridge when
we get to it.
Revisions to the new Filesystem functions

1. I hadn't realized that the underlying boost::filesystem::remove_all
(and C++1y std::filesystem::remove_all) returns the number of files
removed, not a bool. So I changed our functions to conform.

2. I also didn't realize that in some cases I was using functions that
are only in boost::filesystem v3.  I think this will affect the few
users with boost versions older than 1.45 (that was 4 years ago), but
nevertheless I have now put #if clauses to compile cleanly, and in most
cases do something reasonable if only boost::filesystem v2 is available.
Tighten up error propagation through IC, IB, and oiiotool.

Now we get nice helpful error messages if any of the input images are
corrupt or incomplete.