Revert "[garnet] Reland "Remove MakeCopyable dependencies""

This reverts commit 91ad810ecba010b25eda2e38e868a0f7ddead853.

Reason for revert: CQ didn't re-run tests after merge (due to new conflicts). Merged prematurely.

Original change's description:
> [garnet] Reland "Remove MakeCopyable dependencies"
> 
> This reverts commit 077444b5ce477a01a0d268f82e0a0cb123b2c20b.
> 
> Reason for revert: relanding (revert revert) after resolving build error with merge of https://fuchsia-review.googlesource.com/c/peridot/+/245012
> 
> Original change's description:
> > Revert "[garnet] Remove MakeCopyable dependencies"
> >
> > This reverts commit e5dee7e7d47a9d28092ad00c45f50192af4b18a5.
> >
> > Reason for revert: this CL breaks peridot (fxl::Closure no longer has
> > the same semantics), which prevents garnet from rolling.
> >
> > Original change's description:
> > > [garnet] Remove MakeCopyable dependencies
> > >
> > > [Confirmed this compiles under both x64 and arm64]
> > >
> > > This change replaces many std::function references with
> > > the new fit::function, allowing functions to be passed with
> > > move-only semantics, which is more efficient than "copy",
> > > and safer than pass-by-reference. It also allows lambdas to
> > > include move-only objects without requiring the MakeCopyable
> > > workaround.
> > >
> > > Note that this covers all of garnet (except for eventually
> > > removing MakeCopyable itself). Changes are forthcoming in
> > > topaz and peridot.
> > >
> > > Issue: ZX-3289
> > > Test: No behavior change
> > > Change-Id: I3fbc402e37652f0dac807441b00ba935cf403a93
> >
> > TBR=abarth@google.com,richkadel@google.com
> >
> > Change-Id: Idce39513309f4dd84d2abfbb63891b74030ee43f
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Issue: ZX-3289
> 
> TBR=kulakowski@google.com,vardhan@google.com,abarth@google.com,richkadel@google.com
> 
> Change-Id: Ia310a86b059ee1789ce6950ab19e7344b378c34e
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Issue: ZX-3289

TBR=kulakowski@google.com,vardhan@google.com,abarth@google.com,richkadel@google.com

Change-Id: I7a223180650e11c0942af35573437402124fa624
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Issue: ZX-3289
86 files changed