Breaks tailproduce.h into multiple header files.  changes to use VALUE_TYPE and KEY_TYPE instead of std::vector<uint8_t>