Make ListenableFuture compliant with Java 8 lambda

Make it possible to use a ListenableFuture with Java 8
lambda expressions, using a syntax like
listenableFuture.onSuccess(() -> ...).onFailure(() -> ...);

Issue: SPR-11820
I like the splitting of this interface into two separate interfaces. Elegant solution.