ISPN-4029 Reworked NotifyingFutureTest

Hi

Please take a look at reworked NotificationFutureTest. These are the steps I performed

1. Removed Thread.sleep() since it can't be trusted (especially when testing on CI server with many slaves)
2. It turned out that all testDone tests were acting exactly the same without Thread.sleep. So I combined them.
3. I reworked the test a bit and added custom assertions.

Best regards
Sebastian
I think that's certainly less code than creating a class to do trivial exception assertions, most of which are already covered by the framework. Calling getCause() and using expectedExceptions is much more concise.

The only util method that I can see useful for exceptions is when you have a long linked list of exceptions, linked via cause attributes, and you are trying to recursively find a cause that matches certain condition. That's an interesting thing to implement, and in fact, I recently saw that somewhere though I cannot remember right now.