feat(common): Policy load_from_dir + save_local with last-wins merge
Lands plan tasks 2.3 (single-file load), 2.4 (multi-file merge cases — last-wins,
lex order, non-conf skip, missing-dir default), and 2.5 (save_local preserves
sibling files) as one logical unit.
- load_from_dir: reads *.conf in lex-ascending order, parses TOML, merges via
last-wins on stack key, storage block, and firstrun block. Missing dir yields
Policy::default(). Non-.conf entries silently skipped.
- save_local: writes 50-local.conf with toml::to_string_pretty; never reads
or removes siblings. Created via create_dir_all.
- 6 parse tests added: load_single_file, last_file_wins_on_overlap,
lex_order_not_filesystem_order, ignores_non_conf_files, missing_dir_yields_default,
save_local_preserves_sibling_files.