Move config function to config.load.
Add config.forSourceFile()
Initial dataDirectory support.
Remove silly extra then.
Fix order of assert arguments.
Rewrite traverse as readDirSync.

This fixes issues with the promise return values.
traverse yielded a mess, but readDirSync yields a flattened array of all
callback return values.