public static Slime decode(byte[] data, int offset, int length) {
        BinaryDecoder decoder = new BinaryDecoder();
        return decoder.decode(data, offset, length);
    }
Take binary data and deserialize it into a Slime object.
The data is assumed to be the binary representation
as if obtained by a call to the @ref encode() method.

If the binary data can't be deserialized without problems
the returned Slime object will instead only contain the
three fields "partial_result" (contains anything successfully
decoded before encountering problems), "offending_input"
(containing any data that could not be deserialized) and
"error_message" (a string describing the problem encountered).

@param data array containing the data to be deserialized.
@param offset where in the array to start deserializing.
@param length how many bytes the deserializer is allowed to consume.
@return a new Slime object constructed from the data.
vespajlib/src/main/java/com/yahoo/slime/BinaryFormat.java