Add support for detecting unreachable code after a throw or return statement.

Add support for detecting unreachable code after a throw, return, continue, or break statement. Loop through the body of blocks and switch cases and look for return or throw statements that are not at the end.