Change taskgroup key type to fn:Copy in prep for noncopyable stack closures.
Use more deriving(IterBytes) in libsyntax.
Use more deriving(IterBytes) in librustc.
'Borrow' stack closures rather than copying them (e.g., "|x|f(x)"), in prep for making them noncopyable.
Make librust satisfy noncopyable stack closures
Trade stack closure copyability for type soundness.
Add two tests for the case of the recurring closure.