ArduPPM: Versioning cleanup, 2.3.16 should be the next official release
ArduPPM: version 2.3.16 for release
Copter: fix for acro throttle bug
Rover: reduce throttle more directly

this gives better throttle control in turns and waypoints
DataFlash: make it safe to do DataFlash logging from timers

this uses a non-blocking semaphore take if we are in a timer
process. Useful for logging failsafe events
Compass: add get_motor_compensation

Remove redundant set_motor_compensation call
Copter: add compassmot to cli

Allows user to setup compensation for motor's interference on the
compass
AP_HAL: added voltage_average() interface to AnalogIn

returns voltage in Volts, using averaged reading over samples.

Where possible this should be auto-scaled against a known reference
voltage
AP_ADC_AnalogSource: added voltage_average() interface
Plane: use voltage_average() to not depend on INPUT_VOLTS
Copter: use voltage_average() so as to avoid INPUT_VOLTS
Rover: use voltage_average() interface
HAL_AVR_SITL: fixed windows build
build: fixed cygwin build
Compass: current based compensation added
Copter: add current based compass compensation
Copter: remove unused input_voltage parameter
Copter: use unsigned long for dataflash log for gps time

Updated some formatting of comments in the same file
Copter: minor formatting fix for report_ins
TradHeli: remove duplicate RC_FAST_SPEED definition