message: action: remove block in arm_async
  We shouldn't be doing a sync call inside a async call, therefore, we now
  move that to the thread pool.
diff: @@ -257,6 +257,10 @@ void ActionImpl::transition_to_multicopter_async(const Action::result_callback_t
  void ActionImpl::arm_async(const Action::result_callback_t &callback)
  {
  + // Funny enough the call `arming_allowed()` is sync, so we need to
  + // queue it on the thread pool which confusingly is called
  + // `call_user_callback`.
  + _parent->call_user_callback([this, callback]() {
  Action::Result ret = arming_allowed();
  if (ret != Action::Result::SUCCESS) {
  if (callback) {
  @@ -266,6 +270,7 @@ void ActionImpl::arm_async(const Action::result_callback_t &callback)
  }
  loiter_before_arm_async(callback);
  + });
  }
  void ActionImpl::arm_async_continued(MAVLinkCommands::Result previous_result,
  