From Jason Beverage, "Here is a fix for a small race condition in osgDB::makeDirectory.  It attempts to create all the directories in the given path and stops attempting to make directories when one of them fails.  I've added a check to see if the failure occurred b/c the directory was created by another thread or process.

We were running into issues occasionally in osgEarth where multiple threads were writing out files like /1/2/3.jpg and /1/3/4.jpg.  Both threads would try to create the /1 directory and only one of them would succeed.  So the first thread would write out the full /1/2/3.jpg while the second thread wouldn't create the /1/3 directory b/c /1 was already created and the writing of /1/3/4.jpg would fail.
"
From Pjotr Svetachov, "I had the osgvolume example crash on me when loading large volume
datasets due to an overflow in image.cpp after a unneeded cast from
unsigned int to int. Here is a small fix."