fix(reg): [T077] multinomial pseudo-R² uses constants-only null log-likelihood (#176)

`estimate_mlogit` computed the null log-likelihood from a UNIFORM 1/J choice
distribution (`n·log(1/J)`), so McFadden's pseudo-R² = 1 − ℓ/ℓ₀ was biased and did not
match Stata `mlogit`. The standard McFadden / Stata null is the CONSTANTS-ONLY
(intercept-only) model, whose MLE probabilities equal the empirical shares p̄ⱼ = nⱼ/n,
giving ℓ₀ = Σⱼ nⱼ·log(nⱼ/n) ≥ the uniform null.

- New `_mlogit_null_loglik(yint, J, T)` (mirrors `_ordered_null_loglik`): Σⱼ nⱼ·log(nⱼ/n)
  over the remapped 1:J labels — exact intercept-only MLE, no optimization.
- Replaced the uniform-null line; pseudo_r2 formula unchanged (correct once ℓ₀ is).
- Struct-field docstring updated.

Test (test_multinomial.jl): replaced the stale uniform-null pin with the empirical-share
identity; added the strict-dominance check vs the old 1/J null; the analytic exactness
identity `estimate_mlogit(y, ones(n,1)).loglik ≈ loglik_null` (atol 1e-6); and that the
reported pseudo-R² is below the biased uniform-null value. 105/105 green. No doc edit
(binary_choice.md null-LL/pseudo-R² prose is generic). Ref: McFadden (1974); Stata mlogit.
