v0.4.0 — human-readable metadata catalog + GET /metadata

New feature, backwards compatible.

Adds GET /metadata returning a static catalog of every indicator,
signal, and level the compute endpoint emits, with human labels,
descriptions, interpretation hints, units, and categories. Consumers
fetch once on startup; cache invalidates on version bump.

Includes lookup(path) helper with three-tier fallback (exact ->
strip array indices -> bare leaf) so dynamic dot-paths like
retracements[42].Direction or prevTimeframe.rsi still resolve.

Covers all ~70 top-level registry indicators plus nested object
fields for SMC events, retracements, sessions, and divergences.

321 unit tests passing (11 new metadata tests).