Let trie_free() handle NULL pointer
Correctly handle failed mmap
Return newly allocated string from trie_lookup()
Correctly free memory in python lib
Minor update to python example use
Move allocating memory to decompress()
Minor update to Trie.py
Remove unused variable
Add caching in Python

This helps reduce the number of encoding and decoding that needs to be
done.
Fix encoding in Python