Try to make decoding errors clearer.

Prefer to avoid saving constant value decoding errors (which are broken out to a new type), since these are natural.  Of the remaining errors, include a textual representation of the offending `KeyValue`.