Plane: start preparing for 3.1.2
autotest: update compiler
AP_RangeFinder: auto-update PX4 ll40ls max/min distance

this allows the range of the Lidar to be set by the user using
RNGFND_MAX_CM and RNGFND_MIN_CM
Copter: enable Guided velocity controller for Pixhawk
Copter: remove unused pilot_yaw_override flag
Mission: support GUIDED_ENABLE and GUIDED_LIMITS

This replaces the ardupilot only NAV_GUIDED command.
Also remove support for NAV_VELOCITY mission command which will be
replaced by SET_POSITION_TARGET non-mission command.
Copter: support GUIDED_ENABLE and GUIDED_LIMITS

Split of NAV_GUIDED into these two command necessitated guided mode
store the limits
Copter: remove nav_guided structure

This has been replaced by guided_limit structure
Copter: support SET_POSITION_TARGET messages
Copter: accept velocity requests in Auto-Guided mode
Copter: minor param description updates
Baro: minor param description updates
BattMon: minor param description update
BattMon: minor param description additions
AC_Motors: param description addition
AP_Compass: added set_offsets() interface

this will be used by Replay to prevent the need for saving parameters
Replay: fixed loading of users parameters and parameter override

use compass.set_offsets() to avoid trying to write to storage
AP_AHRS: fixed calls to DCM in parent class

use_compass() and reset() are common to AP_AHRS_DCM and
AP_AHRS_NavEKF. As AP_AHRS_NavEKF is a child of AP_AHRS_DCM, when we
call use_compass() from within AP_AHRS_DCM we actually end up calling
AP_AHRS_NavEKF::use_compass().

This has the effect of disabling the compass in DCM when EKF is active
and EKF has decided not to use the compass. That means that the DCM
yaw (and in fact the whole attitude) can get badly off while EKF is
enabled, making DCM an ineffective fallback if EKF fails.

The fix is to call the specific class versions of use_compass() and
reset()
AP_AHRS: restore DCM attitude before update()

The DCM drift correction code uses the current attitude to calculate
error values to update its gyro drift correction. If we were using EKF
then without this patch the DCM code running as an alternative AHRS
source would be using the EKF attitude for calculating the error
value, leading to very bad gyro drift estimation
AP_AHRS: use a common function for updating the CD values

this ensures the wrapping of yaw is consistent between the 3 use cases