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.