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'm not sure about adding these exception assertions. `org.testng.annotations.Test` has a `expectedExceptions` and `expectedExceptionsMessageRegExp` to check for exceptions being thrown. The only one that's not covered is cause, but you can always throw the cause if that's what you want to be asserting. There's a few examples of these fields in use around the source code.