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.
More tightening up of error reporting for oiiotool.

Found all places that haphazardly wrote error messages or warnings to
cerr or cout, and replaced them with legit error() or warning() calls
so that they all behave the same way including proper exit of oiiotool
with the right return code.
oiiotool --wildcardoff / --wildcardon turn off and on numeric wildcard
expansion for subsequent command line arguments. You can have multiple
on/off commands sprinkled among the arguments. The purpose is to be able
to specify command line arguments with wildcard characters that are NOT
expanded, for example if you are seeing a metadata attribute to contain
an email address (whose '@' would ordinarily be recognized as a numeric
wildcard).