prompts: hard-error on malformed frontmatter
Replaces the silent debug-log swallow of frontmatter parse errors in
_load_prompt_metadata and _load_raw_templates with a named
PromptMetadataError(ValueError). The new exception carries the offending
file path and chains the underlying parse error via `from exc`.
Surfaced by req_mpnix3zn: two cogitate talents had Python True in JSON
frontmatter and silently dropped from get_talent_configs(type='cogitate'),
masking the registry regression for several rounds.
Out of scope: _load_identity_vars, secondary frontmatter.load calls in
think/talent.py and think/talent_cli.py, and load_prompt's substitution
try/except — all per the lode scope doc.
Refs req_mpnix3zn, req_tttxra67.