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
If there's a difference based on Ruby versions, it's probably clearer to do something like this:
```ruby
if RUBY_VERSION == '1.9.2'
  expect(output).to eq 'this'
else
  expect(output).to eq 'that'
end
```
It saves explanation and is easier to adjust once we drop support for 1.9.2.