Handle running out of inodes

The "except Exception" is too general for the makedirs
call.  Instead we only catch the specific case where a directory
already exists (because a thread has already come along and created it).
Any other exception propogates.

Fixes #739.