flake8 + initial fixes

This pull request introduces flake8, and does some initial fixes for the tool. Mostly, they are:

* Linefeed additions (to have 2 LFs between top-level symbols);
* Removal of unused variables (note that this allowed us to remove some of the imports as they became useless, like, for example `pub_date = du_parser.parse(article["pub_date"]).date()`, which required `du_parser` from `dateutil`);
* Imports reordered, separating with linefeed between:
 * Internal modules
 * 3rd party
 * Project-related
* Stick to 4-spaces for indentation