Make SourceOfApproval responsible for reporting errors
Add a DirectoryFinder because finding your own source root can be a pain
Add TestDirectory and TestDirectoryRule
Add StreamingFileSystemSourceOfApproval to save having to read large approved and actual into memory.
Now lazy create Approver.osForActual