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
AP_Terrain: initial structure
GCS_MAVLink: added terrain mavlink messages
Plane: added terrain object
AP_Terrain: implement height_amsl()
AP_Terrain: started on update() logic
GCS_MAVLink: keep a bitmap of what mavlink channels are active

- this will allow for looping over active channels in libraries
- expose active channel mask