Replay: added floating point exception checking

allows NaN errors to be caught in gdb
AP_AHRS: prevent a infinity value
AP_Math: prevent a floating point exception
AP_NavEKF: catch covarience errors and reset filter

this catches covariance values beyond a reasonable limit and resets
the filter is they happen
SITL: added SIM_FLOAT_EXCEPT parameter

this enables checking for floating point exceptions
HAL_SITL: enable use of SIM_FLOAT_EXCEPT parameter
AC_WPNav: update target speed immediately
AC_WPNav: rename some definitions
Copter: remove unused lon_error, lat_error
AP_NavEKF: Improved magnetometer consistency checks

A magnetometer axis that fails the innovation consistency check will cause
all axes not to be used. If this condition continues for 10 seconds, a
magnetometer timeout condition will be declared. When the timeout has
occurred, if it is not a fly forward vehicle, then individual channels
will be used again, but with a reduced weighting.
AP_AHRS: added vehicle class to AHRS

used by EKF to control use of get_fly_forward()
AP_NavEKF: cleanup some build warnings

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
AP_NavEKF: use AHRS vehicle class for sideslip calculation

Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
Plane: set AHRS vehicle class
VARTest: fixed build
Replay: added vehicle class detection
Rover: set AHRS vehicle class
Copter: set AHRS vehicle class
Plane: fixed a potential numerical error close to waypoints
AC_PosControl: bug fix to vertical speed limit

Vehicle was not reaching target climb or descent rate because of
incorrectly defaulted acceleration