CirclingComputer: remove unused parameters
GlideComputerStats: eliminate need for last_* parameters

Add a few "last_*" attributes for storing the previous state.  This
makes a lighter API.
NMEA/CirclingInfo: rename climb_start_altitude to *_te

The name should indicate that this includes total energy.
NMEA/CirclingInfo: add attribute climb_start_altitude

Just like the old climb_start_altitude_te attribute, but without total
energy.  Now ProcessClimbEvents() can use it instead of
turn_start_altitude.
NMEA/CirclingInfo: move internal attributes to CirclingComputer

These are never used outside of CirclingComputer.
NMEA/CirclingInfo: negative circling_percentage means "undefined"
GlideComputerAirData: move Heading() to BasicComputer

Remove DerivedInfo::heading, use AttitudeState::heading instead.
BasicComputer: check track_available and ground_speed_available
CirclingComputer: use CirclingInfo instead of DerivedInfo

Fixes two wrong references.  The CirclingComputer API can now be
narrowed.
GlideComputerAirData: move code to LiftDatabaseComputer
LiftDatabaseComputer: don't pass last_basic, last_calculated

Remember the old values.
NMEA/VarioInfo: move LiftDatabase to new library
LiftDatabaseComputer: narrow parameters
GlideComputerAirData: de-obfuscate boolean test
GlideComputerAirData: don't pass last_calculated to ProcessVertical()

Remember the previous "circling" flag internally.
GlideComputerRoute: remove the "last_calculated" parameter
GlideComputerTask: eliminate the last_calculated parameter

Remember the previous AircraftState object.
GlideComputer: pass last_flying to TakeoffLanding()

Avoid using LastCalculated().
GlideComputerBlackboard: remove last_calculated attribute

Unused.
test/RunCirclingWind: don't use DebugReplay::LastCalculated()