QUIC: fix sending of PATH_STATUS frames for newly opened paths
When we open a path, we immediately schedule the PATH_STATUS_AVAILABLE or PATH_STATUS_BACKUP frames. But we currently send those not together with the PATH_CHALLENGE which opens the path. Which means it will be sent immediately on the already existing path.
If the PATH_STATUS frame arrives before the PATH_CHALLENGE --which may never arrive-- then it currently is ignored because the PathData does not yet exist: https://github.com/n0-computer/quinn/blob/e74c803219cb83f1780f59dcc6823f422f244703/quinn-proto/src/connection/mod.rs#L5565
You can observe this behaviour in the endpoint_two_direct_add_relay test, which establishes the connection via a direct path and adds a relay path. Since the relay path is slower, the PATH_STATUS frame arrives before the PATH_CHALLENGE arrives.
The best solution is probably to make sure that PATH_STATUS frames for not-yet-validated paths are only sent together with the PATH_CHALLENGE frame.