Use original DV type when serializing bad values.

UnDeserializableValue is used to represent values that could not
be unserialized. When re-serializing them, we should restore the original
type and data as it were, instead of saving "bad" as the type.

Change-Id: Ic75833eca87677c65d7f9b6500f6dcfca80aedfb