Store attribute name as string instead of calling to_s several times
Re-factor Report class and add specs
- handle output with or without any smells
- Use has_smells? instead of checking for number of smells repeatedly
- Use options instead of multiple params
- Capture output stream in a separate method in specs
- Add attr_reader for smells and initialise a class attribute for smells
Break down report generation into strategies and report classes
- 3 different strategies
- text, yaml html report formats
Merge pull request #300 from aakritigupta/re-factor_to_reek_less

Re factor to reek less
Introduce RuboCop and fix offenses

* Add RuboCop configuration
* Fix offenses

This does not fix all offenses. These can be fixed as and when the
relevant code is touched. The following offenses are left:

- Metrics/ClassLength
- Metrics/LineLength
- Metrics/MethodLength
- Metrics/ParameterLists
- Style/Documentation