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 *think* you can write the tests you want to write without adding this extra property to CompilerTestCase but when the other commit lands externally hopefully the way to do that will become clear.