addresses feedback regarding new junit tests

1. don't recreate symbol table manually and just let JUnit do it
   automatically behind the scenes
2. minor changes to assertThrow's description
3. add one more test case to check that exception's subclasses
   are catched too
4. refine rethrow test to ensure that the exception wasn't swallowed