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.