feat: Runner accepts array of tasks, update examples to use run([...])
run() now accepts either a single Task or an array of Tasks.
With an array, it returns Promise<[R1, R2, ...]> with proper
tuple typing. Replaces Promise.all([run(a), run(b)]) pattern.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>