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
attitude_estimator_ekf: use degrees for ATT_MAG_DECL parameter to be consistent with documentation
attitude_estimator_ekf: added missing include
HMC5883: Do not spam the console on error and make everything worse.
airspeed driver: Do not spam the console on error, report the system change only once
airspeed: Let the status check routine handle the initial state
More pedantic warnings
Fix of errors triggered by more pedantic compile options
sensors: Keep looping in sensors app even if gyros do not update any more. There are lots of other reasons we might want to keep clocking the system. This resolves the RC timeout dependency in HIL.
add parameter to mavlink app to allow parsing of HIL GPS message even if not in HIL mode

Conflicts:
	src/modules/mavlink/mavlink_receiver.cpp
filter gps simulation hil gps message with sysid
remove tags file