Now that rustdoc is spawning a child task, the program won't exit with a default error code if the main task fails (because it never fails). This commit forces the main task to wait for a child task in order to correctly propagate failure. Closes #16341