Scratch — all-DNC race does not consume a discard slot (issue #129)

Issue #129: an all-DNC race must not count toward the discard threshold. 5 scheduled races, but race 3 is all-DNC. The discard threshold says "1 discard at 5 races sailed". Because only 4 races were actually sailed, the threshold does not fire — no discards. Without the fix this fixture would have triggered a discard (race count = 5 ≥ threshold) and every boat would have discarded the all-DNC penalty (6 pts), which is exactly the bug the issue calls out. Also covers the edge case from issue #129 open questions: race 5 has a single finisher and the rest DNC — this is *not* an empty race, it scores normally (the single finisher gets 1 pt, others get 6 pts DNC).

Scoring configuration: 1 discard from race 5. DNF/OCS scoring: A5.2 (series entries).

Race 3: abandoned, all DNC → excluded from scoring.
  Race 5: only Alice finishes — this *is* a valid race (one finisher),
  so it scores normally. Bob and Carol get DNC = N+1 = 4 pts each.
4 sailed races (race 3 excluded). Threshold "5 races → 1 discard" doesn't
fire because sailedRaceCount = 4. No discards. Excluded race contributes 0.
Rank Sail Number Boat Competitor R1 R2 R3 R4 R5 Total
1st 101 Alice 1.0 1.0 1.0 1.0 4.0
2nd 202 Bob 2.0 2.0 2.0 4.0 DNC 10.0
3rd 303 Carol 3.0 3.0 3.0 4.0 DNC 13.0

R1 — 1 Jan 2025

Rank Sail Number Boat Competitor Points
1 101 Alice 1.0
2 202 Bob 2.0
3 303 Carol 3.0

R2 — 1 Jan 2025

Rank Sail Number Boat Competitor Points
1 101 Alice 1.0
2 202 Bob 2.0
3 303 Carol 3.0

R3 — 1 Jan 2025

Rank Sail Number Boat Competitor Points
101 Alice 4.0 DNC
202 Bob 4.0 DNC
303 Carol 4.0 DNC

R4 — 1 Jan 2025

Rank Sail Number Boat Competitor Points
1 101 Alice 1.0
2 202 Bob 2.0
3 303 Carol 3.0

R5 — 1 Jan 2025

Rank Sail Number Boat Competitor Points
1 101 Alice 1.0
202 Bob 4.0 DNC
303 Carol 4.0 DNC

Sail Scoring — sailscoring.ie