Handle the end of a training session

Assume the GC session has ended when multiple control messages
are missed. Reset the control structure to default load/slope,
and minimum speed/power.
Minor tweak to trim adjustment interval
Refactor the trim and averaging code into discrete functions
Correctly initialise average speed and power at start of session

Set the average speed and power to sane initial values at the start
of each session. This avoids the resistance jumping up unnecessarily
because the average speed is artificially low.