Improve and refactor NilCheck

- Detect NilCheck for `when` with multiple conditions
- Decouple NilCheck smell detector code from Sexp
- DRY up NilCheck node finder code
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