[roll] Roll fuchsia [fidl][llcpp] Async methods unbind on send errors

When a client method call encounters an error, it should lead to binding
teardown. We already do this for errors in the receiving path; this CL
extends that to cover errors in the sending path as well.

This CL started out simple but uncovered two subtle issues:

1. If the teardown is immediately initiated on any error, that could
lead to racy discarding of unread messages. The chosen behavior is to
drain all messages when the error is peer closed. The full details are
explained in a comment block in `llcpp_client_base.cc`. This would be a
good case to formalize and validate in a future dynamic binding spec
conformance test.

2. The LLCPP client supports both async and sync calls. We would like to
make the sync calls initiate teardown on errors too, but that turned out
much more tricky because the sync calls use the C++17 guaranteed return
value optimization to avoid any copies or moves of the result type. As
a result, the code performing the sync call cannot check the result of
the call because it is a pr-value built directly on the user's stack.
Furthermore, if a sync call drags out long after the client object is
destroyed, it may cause use-after-free as it tries to teardown a
non-existent client.

It's likely still possible to make sync calls in the async client
initiate teardown but that could involve more changes. This CL sets the
foundation via some refactoring.

Original-Fixed: 78989

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/582013
Original-Revision: 79031df703b96d104443bb8b35d48eceedc46fad
GitOrigin-RevId: 97ebe033461ba58b1159ac7c3d5de0e4f39a3fce
Change-Id: Ife44321a47f115fd505dacbd35d868b1ba7bc1ba
diff --git a/stem b/stem
index d77aa2b..40207f0 100644
--- a/stem
+++ b/stem
@@ -10,7 +10,7 @@
              githooks=""
              remote="https://fuchsia.googlesource.com/fuchsia"
              gerrithost="https://fuchsia-review.googlesource.com"
-             revision="604a13b1fc797b14410785d1266f71621be948c7"/>
+             revision="79031df703b96d104443bb8b35d48eceedc46fad"/>
   </projects>
   <hooks>
     <hook name="install-environment"