AltitudeHold: use queue to update setting instead of callback

Since we already have a queue this avoids any potential race
conditions across contexts.
AltitudeHold: remove OP author line since I'm the sole author
AltitudeHold: remove some unused variables
AltitudeHold: if there is a NAN go back to WAITING_BARO

This resets the state
AltitudeHold: add proper reset state which clears the EKF memory

Now all the variables are reset to a known state when in the init
state and if an error is encountered the init state is reentered.