[BUGFIX] Fix else return for nested issue reporting

Reference: #1380 

Updates the no-else-return rule to display multiple errors in cases of nested violations of this rule, where before it was only showing the most interior violation and would not display the others until that one was fixed.

@nzakas Please review, thanks! I'm not convinced this is the best implementation, but it seems to satisfy all the use-cases I could think of.

Fixes #1369
I agree.  I have a branch where I was working on trying to use the traversal, but that requires a lot more global state variables to track when I'm inside an if-statement.  I got close, but I think one of the more complex test cases that this PR worked for is failing on the branch.  I'm going to spend more time there, but it may take a while.