Fix setmode (in-air disarm fix)

Fixes the problem described here: https://groups.google.com/forum/#!topic/px4users/FmC2cMdQXV0

* mavlink_msg_set_mode_pack is now only used by a wrapper function which checks if base_mode (the mode bitmask) has been received before. If base_mode has not been received, this wrapper function refuses to send the new bitmask. Otherwise there was the possibility that a wrong bitmask was sent which was the reason of in-air disarms.

* some fixes of how the bitmask is changed e.g.: https://github.com/thomasgubler/qgroundcontrol/compare/fix_setmode#diff-ff6f0e8f96c8b65ee73924f60debbb8eL3208

* make goAutonomous, goManual and toggleAutonomy consistent with UASControlWidget.cc