Touchdown reworked

Touchdown KTI had been written ages ago and augmented many times. This
rework simply restructures the code and updates the tests.