Stabilize semantics of NonNilCheck autocorrect

`a` and `!a.nil?` are not semantically equivalent, this should be respected by autocorrect for `NonNilCheck`.

The description and message even says (emphasis added)
> Explicit non-nil checks are **usually** redundant.