Improve and refactor NilCheck

- Detect NilCheck for `when` with multiple conditions
- Decouple NilCheck smell detector code from Sexp
- DRY up NilCheck node finder code
This abstraction seems a little over the top to me. Pretty sure that :nil? wont change any time soon..;)