Issue #22601: run_forever() now consumes BaseException of the temporary task

If the coroutine raised a BaseException, consume the exception to not log a
warning. The caller doesn't have access to the local task.