#299 Refactoring fail because exception was not thrown

This pull request contains a new methods `shouldHaveThrown` in Assertions and Fail which can be used as a replacement for `failBecauseExceptionWasNotThrown`. All depended tests were converted to the new method because it shorter and therefor more readable.