Big refactor / reorganisation of generic tests to work for the file: protocol too.
Don't try to run tests for the test base classes.
Report directory enumeration errors.
Allow no error for the file protocol - it helpfully doesn't return one.