Expanded the functionality for FutureUtils

This now allows you to create a ListenableFuture that will be satisfied once all futures in a provided collection have completed.