Used a custom container class for the Huffman data instead of being lazy

I realized in the middle of coding that std::pair's (first and last) was
kind of awful.