F3: add MOM, CMO, TSI and PMO momentum indicators
Completes the F3 family (Momentum) end to end:
- Rust core: mom.rs (raw price-difference momentum), cmo.rs (Chande
Momentum Oscillator — unsmoothed gain/loss sum, bounded [-100,100]),
tsi.rs (True Strength Index — double-EMA-smoothed momentum ratio),
pmo.rs (DecisionPoint Price Momentum Oscillator — doubly-smoothed ROC
with the 2/period custom smoothing). Each with a full Indicator impl,
runnable doctest and reference-value / saturation / warmup / reset /
batch==streaming / non-finite tests.
- Python: PyMom / PyCmo / PyTsi / PyPmo PyO3 classes + module
registration + .pyi stubs (defaults MOM=10, CMO=14, TSI=(25,13),
PMO=(35,20)).
- Node: MomNode / CmoNode via the scalar macro, explicit TsiNode and
PmoNode; index.d.ts and index.js updated.
- WASM: WasmMom / WasmCmo / WasmTsi / WasmPmo via the scalar macro.
- Wiki: Indicator-Mom/Cmo/Tsi/Pmo.md plus rows in Indicators-Overview.md
and entries in Home.md.
cargo fmt + clippy (core/wickra/data/wasm/node) clean; 262 core tests,
25 data tests and 37 doctests green.