Async.AwaitTask with timeouts

Asynchronously await task completion with timeout support.