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.