Buffers a Stream of ListenableFutures and provides the results as a new
Stream.
Futures are collected as fast as possible without the sum of concurrently running futures and available results
exceeding bufferSize.
The new stream contains the results in the completion order of the futures.