lzma: updates to the direct codec

The encoder and decoder are now bytes instead of structs. The new
functions return the actual value. Documentation for all functions
added.