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
ArduPlane Parameters: Changed the SONAR prefix to RNGFND
Ardurover2 Parameters: Changed the SONAR prefix to RNGFND and renamed the previous SONAR_ parameters
AP_RangeFinder_PX4: Added the destructor to close the file descriptor
AP_RangeFinder_PulsedLightLRF: Modified to do a 2 byte transfer for the distance read
ArduCopter test: Renamed the test from sonar to rangefinder and added info on all devices
ArduCopter: Removed CONFIG_SONAR_SOURCE, SONAR_SOURCE_ADC, and SONAR_SOURCE_ANALOG_PIN since no longer used
VARTest: Removed CONFIG_SONAR_SOURCE and SONAR_SOURCE_ANALOG_PIN since no longer used
AP_RangeFinder: Updated RFIND_test example to not use Auto and added more device details
GCS_MAVLink: merged latest changes from upstream
AP_Mission: removed use of MAV_CMD_NAV_VELOCITY and MAV_CMD_NAV_GUIDED
Copter: removed use of removed MAV_CMD_NAV_ commands
XML: resolved conflicts in MAV_CMD_ enum

this moves a couple of commands to be MAV_CMD_DO_ commands, after
discussions with Lorenz and Randy
GCS_MAVLink: rebuild MAVLink headers
AP_Terrain: initial structure