ExecuteTask logs start, then runs t.Do, then logs completion or failure in the
"wide" format: task name, start time, status and elapsed duration.
Any panic from t.Do is recovered, converted to an error, and logged as a failure.
Parallel returns a Task that executes the given tasks concurrently.
All tasks are started at once. On the first error the context passed to
remaining tasks is cancelled and the first error is returned.
The provided logger is used to emit a wide log line for each task.
Serial returns a Task that executes the given tasks one by one in order,
stopping and returning the first error encountered.
The provided logger is used to emit a wide log line for each task.