Refactoring in the lists module and fix of #198

This refactors some code in the lists module, specifically:

- Removed dead/unused code.
- Created a function to list files with specific extensions in a directory.
- Rewritten the functionality of `_columnise()` to fix #198.

Admittedly, fixing #198 would have probably been possible with the addition of a single `if` statement, but the code I replaced looked rather complicated and not reusable, as formatting of the columns and printing to the console was done by the same method. Rewriting this of course also brings a higher risk of breakage for cases I didn't test.