Implement a bunch of the TCX logic

This include the TCX <Activity> elements, though without any <Lap>
data yet.

Note, this also fixed the misspelling of "minutes" in a number of
fields, thus requiring updates to a number of *.expected.json files.