Enable excluding directories from creation

Some directories in our abstract tree we want to be able to
address/refer to, but not necessarily create when we create the tree.
This commit enables `mcv.dir.mktree` to exclude creating nodes based
on a predicate given at creation time--by default it defaults to
creating all the nodes given.