implement AggregateResult for Task.whenAll()

in current implementation of `Task.whenAll()`. we can just know the task is finish or not (because it return a `Task<Void>`). but some case we need to know the all of results when we use `Task.whenAll()`. for example, we want to add all of result from the previous tasks.

is it a good idea to support this feature?