Optimize FileEngine::gc()

SplFileObject constructor throws an exception if the file does not exist or is a directory.