Improve and refactor NilCheck

- Detect NilCheck for `when` with multiple conditions
- Decouple NilCheck smell detector code from Sexp
- DRY up NilCheck node finder code
Pretty complex guard - can we abstract c
away complexity by speaking methods? LoD violation as well...