De-templated the HuffTree

separate compilation for HuffTree, starting to shift the focus of
HuffTree from being a separate, reusable data structure to being the
central object of the program.
Completely reorganized the program