Plane: remove logging dependecy on optflow
BattMon: parent class becomes frontend class
BattMon_Backend: create backend class
BattMon_Analog: move analog features to new class
BattMon_SMBus: smart battery monitor driver
BattMon_I2C: smart battery class for APM
BattMon_PX4: class to read from PX4Firmware via orb
BattMon: remove #defines for monitor type
Copter: move underscore in BATT_ parameters
GCS_MAVlink: correct sending of 2nd battery's voltage
Copter: use battery.has_current method
Copter: cli uses has_current method
BattMon: fix example sketch compile error
PX4: add batt_smbus module to build
PX4: start batt_smbus
Rover: use battery.has_current
Plane: use battery.has_current
Plane: use battery.voltage2 method for logging
Plane: BATT param's underscore moved to library
Rover: BATT param's underscore moved to library