Fix a directory leak when deleting files from bookshelf

No tests yet, because we don't seem to test deletion at all in bookshelf. 

To avoid breaking filesystems with large directory issues, we create a hierarchy of directories to
hold the actual files stored. But we never delete the directories.

This creates a problem, because we potentially create a directory for every file we store in
bookshelf. This can grow pretty large (4 levels deep, with 256 entries per level, so 2^32 + 2^24 +
2^16 + 2^8 > 4 billion). If we never delete them we will blow out the inode table, and consume
considerable disk space. For example ext4 will most likely allocate a full block (default 4KiB) for
each directory we create due to the long file names for the files we store
(https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout)



How will this behave in terms of concurrent operations? I'm wondering whether this creates a potential problem for the code during write:
https://github.com/opscode/bookshelf/blob/master/src/bksw_io.erl#L136-L137

Where code thread 1 ensures an existing dir, thread 2 deletes it, and then thread 1 tries to write.