Second step of split
This breaks the main Triplet class into two; as long as the kernel can avoid using details in the second class, this will enable new classes for other tools. The final step will be to add a use of a new Triplet class.
Edited by Henry Fredrick Schreiner