Make sure output directory tree exists before copying output files.

When using a cache directory (the typical/default case), Commoner's output files are hard links into the cache directory, created by `util.linkP`, which always calls `util.mkdirP`. When there is no cache directory, we just write copies of the output files. Before this commit, we were not ensuring that the full tree of enclosing directories already existed in the `--no-cache-dir` case.

Fixes #67.