AltitudeHold: add a landing flag to wind down integral

When throttle is below 0, then allow the AH module to calculate
a throttle as low as -0.1f. This causes the integrals to reset
in stabilization and lets it sit nicely on the ground.
AltitudeHold: when in landing mode hold level

When the throttle (from user) is below 0 then force the
system to go level and ignore the stick inputs. This makes
sure motors are nicely idle when it is on the ground.
AltitudeHold: make deadband programmable
Arming: allow arming in altitude hold

Now that low throttle wipes the integral it is safe
to arm while on the ground. Holding low throttle will
cause the desired setpoint to move.
Stabilization: properly zero MWRATE pids

The code had a typo leftover and was zeroing the
integral for the wrong PID structure when starting
MWRate. This caused the integral to wind up on the
ground.
Sparky: add code for erasing flash

Compile the code with "make -j8 ERASE_FLASH=YES fw_sparky"
and it should erase the settings partition on each boot.
Merge pull request #1401 from peabody124/mwrate_integral_windup_fix

Stabilization: properly zero MWRATE pids
Merge pull request #1392 from peabody124/altitude_hold_landing

Improve landing and takeoff in altitude hold mode
Merge pull request #1402 from peabody124/sparky_erase_settings

Sparky: add code for erasing flash
VtolPathFollower: makes RTH altitude and RTH velocity adjustable in settings
VtolPathFollower: emergency land when gps data unuseable for navigation

Gives some predictable behavior to VTOL path follower in case of
GPS signal lost (or unusable quality). When GPS lost, it will wait
and continue operations for 2 seconds to ignore short-term GPS glitches
and then emergency landing is enabled. In emergency landing VTOL attitude
is stabilized to be level and throttle is controlled to achieve
configured landing  vertical speed.
failsafe: make failsafe behavior configurable
failsafe: failsafe_control can now switch to RTH flight mode

If configured, Return To Home flight mode is selected when RC transmitter
signal is lost. There is protection against accidental RTH activation
when last known throttle input was 0. It also do some configuration
and alarms sanity checks before activation and when it failed, old-style
"throttle cut" failsafe kicks in.

GPS signal quality is evaluated by VtolPathFollower itself and in case
of low-quality or no signal, it renounce horizontal control, set level attitude
and start descent immediately at configured landingRate velocity.
failsafe: fixed uninitialized variable
failsafe: updated warning message
vtolpathfollower: changed no-gps timeout to 5 seconds