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 if changing to `@Test(expectedExceptions=..)` will work in this case...

Since the exception is being thrown in another thread - we need `AtomicReference<Exception> exceptionInListener`. Moreover - we are checking 2 attributes of this exception - exception class and clause class...

Also after checking exception, we are checking also `Future` and `NotifyingFuture` state. 

To sum up - I can refactor the code if'd like and add `throw exceptionInListener.get().getCause()` in the last line of `testForwardingExceptionFromInnerFuture`. Then use `@Test(expectedExceptions=..)` to verify it...