A config value with its provenance: which kind of source set it, and for
file-based sources, which file. The origin makes rumdl config output
file-precise, which matters for extends chains where the source kind
alone cannot distinguish the base config from the extending one.