Added vocabularies/conventions/{concepts,notation,templates}.yml, their token-validating loaders in grammar/vocab_loaders.py, and the parse-selecting select_conventions accessor in grammar/terms.py.

Measure: gate 481 passed, 28 skipped, 5 xfailed (EXIT=0); select_conventions("flux_surface_averaged_argon_density_at_plasma_boundary") returns exactly 2 concepts (flux_surface_averaged, plasma_boundary), 1 notation (density) and 1 template (density). The loader refuses a malformed entry per file, an unknown token key and a forbidden spelling equal to a registered alias, each by name. With the flux-surface-average entry removed from a scratch copy the accessor test fails (EXIT=1).