Re factor to reek less

This PR brings down the warnings on `reek lib/` from 94 to 88 by:
- Re-factoring Reek::Cli::Report
- A small re-factoring in `Reek:Smells::ClassVariables#examine_context`

This PR also,
- Creates a more consistent interface for report outputs 
 * Basically, the output for yaml format when there were no smells, was `''`, which is inconsistent, because IMHO, the output should be `--- []`, i.e. an empty but valid yaml. This would make it consistent for yaml parsers.
 * Similarly, when there are no warnings and the output expected is html, an html file is created with the message, `0 total warnings`

- Tests output when there are no warnings
- Removes trailing spaces from edited files
Makes sense to put them into a constant. (Not using `%i{...}` though, it's not supported in earlier Ruby versions and doesn't make sense to check for versions here)