This file is used by ClassLoader.getResource() to find the current path to the
test resources. Uses this code:

URL resource = classloader.getResource("dir-flag.txt");
File resourceFile = new File(resource.getPath());
File testResourcesDir= resourceFile.getParentFile();

This way, the unit test can depend on a FileReader or somesuch, and still work
fine regardless of ${user.dir} as long as the classpath is right. Useful for
Eclipse...