Basing FutureGroup on a Stream of results.

This is more of a WDYT, and it constitutes a breaking change. So proceed with caution :)

On first use of FutureGroup it just struck me that it should be a Stream of results rather than just a Future<List>.

The primary downside of this though is that the results do not appear in the order in which the futures are added. But this functionality seems more useful.

Possibly this should be a separate class (with a separate name)?