use IO::All more

IO::All already does catdir, so remove the need for File::Spec.
Furthermore, use the filename method instead of just name for the file
objects (as the latter becomes an absolute name when absolute paths are
enabled.)  Finally, don't spawn new io() objects, and reuse the main
object in files_dir instead.