Require Ruby 1.9.2 or up
Merge pull request #298 from troessner/issue-require-ruby-1-9-2

Require Ruby 1.9.2 or up
Remove debugger gems from the bundle

Removes debugger, byebug and pry_debug from the bundle, and fixes
instructions in README.md accordingly.
Merge pull request #299 from troessner/issue-clean-up-debugger-gems

Clean up debugger gems
Add support for detecting specific smells

This adds the command-line option --smell to specify a smell to detect.
This option can be applied multiple times.

Some refactoring was needed to be able to pass the smells to detect down
to where the actual detection takes place.
Merge pull request #276 from troessner/run-single-detector

Run single detector
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
Exclude non-source directories from rdoc.
Merge pull request #301 from troessner/exclude-non-source-directories-from-rdoc

Exclude non-source directories from rdoc.
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
Merge pull request #297 from troessner/issue-add-rubocop-config

Start using RuboCop
Add ultra verbose warning formatter.
Merge pull request #305 from troessner/add-ultra-verbose-warning-formatter

Add ultra verbose warning formatter.
Improve and refactor NilCheck

- Detect NilCheck for `when` with multiple conditions
- Decouple NilCheck smell detector code from Sexp
- DRY up NilCheck node finder code
Generate the right wiki links.
Merge pull request #308 from troessner/refactor-nilcheck

Improve and refactor NilCheck
Improve and refactor ControlParameter

- Make detector concentrate on use of parameter as a value. Using the
  result of a method call involving the parameter is considered
  legitimate use. Comparing to a value is not.
- Handle edge cases like use of if inside a condition
- Re-format specs
- Refactor smell detector