async/race_cancel_utils library

Race with cancellation (first success wins, cancel rest) — roadmap #667.

Functions

raceFirst<T>(List<Future<T> Function()> producers) Future<T>
Returns result of first future that completes successfully; others are not cancelled (fire-and-forget).