added Assert.ThatThrowsException(lambda, expectedExceptionType)

makes it easier to test further Asserts
rewrote many assert tests to use Assert.ThatThrowsException()
functional but uninformative Assert.IsEqualSequence(() func
more informative assert if Assert.IsEqualSequence fails

fixes #12