added assertThrows()

This new assert method tests for an expression to throw a defined
exception. If it does, the test passes. Otherwise an AssertException is
thrown. The expected exception type is given as a template parameter.