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
This seems a bit strange, storing the failure callback in a field.