Propagate octet string decoding errors
Propagate octet string decoding errors

The `decode_string` function now returns a `Result` that wraps
a `DecoderError` that indicates what went wrong during string
decoding.

Any errors raised by the Huffman decoder are still not handled,
since the Huffman decoder does not expose them.

stepancheg/solicit,jinnjuice/solicit,gwicke/solicit,mlalic/solicit,Galvanization/solicit,tempbottle/solicit