Common superclass for Filechoosers and fix line duplication bug in LogReader

These are two small fixes:

* Pull the common functionality of `CodeFileChooser` and `ConfigFileChooser` (which is a lot) into a common superclass to reduce code duplication
* Fix a bug in `LogReader` where lines would be added to the log frame (viewer) multiple times if more than one item was in the `forbidden` categories list. (This is currently not the case; I stumbled over this bug while doing style clean-up and thought this would save some headache for whoever next touches that list). This commit also contains style fixes (indentation, whitespace, extended `for` loops, etc)