checkout output records against expected for each leaf directory

You can use `recordsByDirectory` to check a whole tree of output against a tree of expected output. eg:

    path(cascade.dateView) ==> recordsByDirectory(
        actualReader, 
        expectedReader, 
        expectedRoot </> "by-date"))

If this seems okay, I'll add to the docs. 
Some newlines between logical blocks might make the code easier to read.