Invariant is not needed because we indend to move the burden of proof of correctness to a super machine containing both Encoder and Decoder.
Added a "finish" operation to Compressor that ends the input stream and forces the machine to compress what is left in the buffer.
Added a Decoder machine that parses byte strings into strings of atoms.