Added huffman encoding functions + tests
Basic serialisation with new format is working
Basic provider interface is there