AP_NavEKF: Use baro data during launch transients whilst in static mode

Baro data can be used as it will still be valid during the launch and
is not a synthesised measurement.
AP_NavEKF: Add ability to inhibit in-flight mag cal and clean up moding

This will enable in-flight magnetometer calibration to be inhibited unconditionally,
This is required for long balloon carriage flights where ground speed can be high
enough to put it into in-air state, but with very poor observability of magnetic field
states causing bad state estimates and heading offsets to develop over time.

The covariance matrix no longer has rows and columns artificially zeroed when in static
mode. Instead booleans indicating whether wind or magentic field state estimation is
active are used to:

a) Set the process noise on these states to zero to stop their variances from increasing
unchecked when not being updated, and
b) Turn off updates for these states when measurement fusion is being performed.

This reduces the likelihood of a badly conditioned covariance matrix forming
during static mode operation.

A filter divergence check has also been added that will declare the filter unhealthy if
position, velocity and magnetic field observations are all failing their innovation
consistency checks. This unhealthy status will persist for 10 seconds after the
condition clears.

AP_NavEKF: Remove unnecessary zeroing of wind covariances
AP_NavEKF: Add protection for badly conditioned innovation variances
AP_NavEKF: fixed logic for divergence test

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
Rover: use EKF velocity for high rate ground_speed updates

this may give smoother throttle response when the EKF is enabled