Use single set of arm/disarm code

Set mode and arm/disarm commands now call a single method to arm
disarm, thus removing code duplication. Also calls updated
arming_state_transition method such that the arming state logic does
not need to be duplicated outside of arming_state_transition.
arming_state_transition now outputs error messages

If mavlink fd is passed in method will output reason for arming failure
to mavlink.
Function naming and remove unneeded sprintf
Simpler state transition code

Also fixed ARMING_STATE_ARMED_ERROR->ARMING_STATE_STANDBY_ERROR
transition.
Rewrote to provide better feedback

Also allows variables as well as static text for assert text in
ut_assert
Fixed bug with transition from in air restore to armed

Also added better debug output for invalid transitions
Update to convert to C++ style
Added comprehensive arming_state_transition unit test

Also converted full to C++ style. Also converted to new unit test code.
Fix float equality comparison

Also restructured incorrect return statement
Added fields to range finder clarifying sensor properties
Added rangefinder message to MAVLink app
Untangled local pos and distance messages, now sending distance messages only for actual distance measuring devices
Merged master into mavlink_range_finder
attitude_estimator_ekf: use degrees for ATT_MAG_DECL parameter to be consistent with documentation
attitude_estimator_ekf: added missing include
Merged master
Merge pull request #827 from PX4/mavlink_range_finder

Mavlink range finder
fw_config_fixes
Merge branch 'master' into mpc_rc
HMC5883: Do not spam the console on error and make everything worse.