Some work on creating directories for files if the parent directory doesn't exist. Not quite finished yet because of a linker issue with boost.