$q.all now returns all promise results when rejecting

Just throwing this idea out, since this seems like useful behavior, and is in fact what I expected when first hearing about `$q.all`.

Ideally, when one of the promises is rejected, it's fine that the aggregate promise is rejected, but the results of other promises (resolved or rejected) would still be useful.

For instance, when grouping multiple `$http` promises together, it's useful to know when one has failed, but the caller **needs** know when all requests have completed at least, and the success/failure status of each.

Happy to discuss.