Compass: set_motor_compensation takes instance as first parameter

Also get_motor_compensation uses primary compass
Compass: get_primary method made public
Compass_VRBrain: get_primary made public
Compass_PX4: get_primary made public
Copter: compass mot configures all compasses
Copter: CLI report_compass prints results for all compasses
Copter: add ekf check of compass

Checks the EKF's compass variance or the inertial navigations x and y
acceleration corrections
Copter: add EKFCHECK_COMPASS parameter
Copter: integrate EKF check

Check runs at 10hz
Log ekf check failures and ekd failsafes
AP_Notify: add EKF failure warning
Copter: fix to drift's yaw rate

The ACRO_P parameter needs to be multiplied by the roll and pitch
velocities to calculate the final yaw rate
autotest: support antenna trackers with on/off servos in SITL
AntennaTracker: support on/off servos

these servos are either moving at a constant rate, or off. To really
move them accurately we need to know about this and not use a PID.

This doesn't yet support ballerina, but could do with a bit more work.
Plane: fixed compass logging for COMPASS_PRIMARY != 0
AP_Compass: VRBRAIN corrected function definition

Add support for two compasses.
AP_Compass_VRBrain: add support for two compasses
Copter: added Sonar Voltage reporting to GCS mavlink

Rangefinder class will return 0 if not applicable.
AP_RangeFinder: Removed the use of type Auto
AP_RangeFinder: Changed sonar to rangefinder in the parameter descriptions
ArduCopter Parameters: Changed the SONAR prefix to RNGFND, renamed SONAR_GAIN, and CH6-8 value descriptions