Upstream: vmihailenco#294
When marshalling/unmarshalling a []error containing custom error types with custom EncodeMsgpack/DecodeMsgpack, all errors are reduced to plain errors.errorString{} on unmarshal. The encodeErrorValue encoder is used unconditionally for the error interface, ignoring custom encoders registered via typeEncMap.