decode_value() doesn't reconstruct multisets properly.
Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=19
Reported by @grubba
> string s = encode_value((<1>));
Result: "¶ke0bh"
> string s2 = encode_value((<1,1>));
Result: "¶ke0¢h¿"
> decode_value(s);
Result: (< /* 1 element */
1
>)
> decode_value(s2);
Result: (< /* 1 element */
1
>)