Closes #289.
The git edge writes a log line before it answers, but the test collects the server's stderr on its own thread, so a log assertion made right after a response could run before that thread kept the line. That is how a_fetch_for_what_the_mirror_lacks_is_behind failed once on #288 and passed on rerun.
Edge::logged(&[...]) waits up to 10 s for the lines and fails with the whole log if they never come. It replaces every assertion that expects a log line: the one that flaked, and the same race in the_edge_mirrors_a_repository_and_serves_it_to_git (synced to version 2, the sync to version 3 failed, and the closing request/sync lines). Only the test changes; the server is untouched.
Tested: cargo test -p g1t-runner --test gitedge, 16 runs in a row, all passed.