fix(teststat): [T086] Bai-Perron q- and trimming-indexed critical values (#185)

The sup-F(l) / seqF(l+1|l) critical-value tables were hard-coded for q=1
breaking regressors at 15% trimming, and `_baiperron_pvalue` applied them for
ANY design — in this pure structural-change model every regressor breaks, so
q = k = size(X,2), and any X with an intercept + slope (the common case)
silently used the too-liberal q=1 table.

- BAIPERRON_SUPF_CV/BAIPERRON_SEQF_CV replaced by BAIPERRON_SUPF_CV_Q /
  BAIPERRON_SEQF_CV_Q: trimming ε ∈ {0.05,0.10,0.15,0.20,0.25} => level
  ∈ {0.10,0.05,0.025,0.01} => 10×L matrix (rows q=1..10, cols l; sup-F
  tabulated up to 9/8/5/3/2 breaks per trimming; sequential column j =
  supF(j|j-1), 10 columns at every trimming). Transcribed PROGRAMMATICALLY
  from the mbreaks R package (Perron and coauthors' Bai-Perron
  implementation, objects supFcv1..5 / supF_next_cv1..5) — no hand-typed
  digits, satisfying the "non-authoritative magnitudes" flag on this issue.
  NOTE: the old q=1 table's l≥2 rows were internally inconsistent (the 5%
  column matched BP but the 10%/1% entries did not — e.g. supF(2) 10% was
  5.96, the tabulated value is 6.28); replaced wholesale.
- `_baiperron_pvalue(stat, l, q, trimming, test_type)`: selects the CV block
  by actual q and (nearest tabulated, warned) trimming; interpolates across
  the four levels; q > 10 throws an informative ArgumentError (no silent
  fallback); l beyond the tabulated break count returns NaN. Boundary
  convention: a statistic exactly at a tabulated CV returns the nominal level.
- Both call sites thread q = k and the trimming.
- docs/src/tests_breaks.md documents the q/ε indexing.

Tests: canonical pins (q=1 ε=0.15: 7.04/8.58/12.29; seqF(2|1) 5% = 10.13);
q-dependence bug-exposure (supF=10.0 significant at q=1, not at q=3);
nominal-level identities at tabulated CVs; trimming-axis and guard tests;
end-to-end q=k threading (p-values match the q=2 lookup; 11-regressor design
throws). test_structural_break green; display coverage green.
