create out directories if they don't exist

`(spit ..)` doesn't appear to create nonexistent directories. this patch ensures they're created before write.