Add compressed trie implementation

-Make trie an interface. Make the erstwhile Trie the uncompressed trie implementation
-Add compressed trie implementation
-Add tests

P.S. - the compressed trie tests dont make sure the trie is actually compressed. Need to fix that.