Re-factor Report class and add specs
- validate report format
- handle output with or without any smells
- return empty yaml when no smells (for yaml format)
- Use has_smells? instead of checking for number of smells repeatedly