Use list comprehension in list_files.

There was no point in using generators before as os.listdir() returns a list.
Iterating through it and yielding elements doesn't make sense since the list is
already in memory.

Also, between list comprehension and using map and filter, the former proved to
be faster. Check below for numbers.

>>> timeit("[os.path.join('ana', x) for x in files if os.path.splitext(x)[1] == '.test']",
           "import os; files=['a.test', 'b.test', 'c']")
5.053390026092529

>>> timeit("map(lambda x: os.path.join('ana', x), filter(lambda y: os.path.splitext(y)[1] == '.test', files))",
           "import os; files=['a.test', 'b.test', 'c']")
6.020704030990601