Avoid some false positives in the CheckNullableReturn lint check

Do not report false positives for methods:
- Overriding supertype methods with the same signature
- Containing a single "throw" (a means of abstract method implementation)

Fixes #656
I already wrote some tests for this but forgot to open-source them. We have a pending commit to open-source them so then they'll appear on Github (probably later today or tomorrow), and then can you add your tests into that existing file? Sorry for the confusion.