refactor internals for improved readability

* `Cobertura.branch_rate` is now a method that can take an optional `class_name` argument
* refactor internals for improved readability
* show classes that contain no lines, e.g. `__init__.py`