Further hardening against double-done sending
Further hardening against double-done sending

This hopefully resolves the remaining cases where that can happen in
the single-whenever supply/react. Along the way, it unifies two very
similar code paths into one correct one.

labster/rakudo,tbrowder/rakudo,lucasbuchala/rakudo,labster/rakudo,nbrown/rakudo,labster/rakudo,Gnouc/rakudo,tbrowder/rakudo,nbrown/rakudo,softmoth/rakudo,Gnouc/rakudo,tbrowder/rakudo,MasterDuke17/rakudo,labster/rakudo,Gnouc/rakudo,tony-o/rakudo,lucasbuchala/rakudo,MasterDuke17/rakudo,softmoth/rakudo,tony-o/rakudo,tony-o/rakudo,rakudo/rakudo,tony-o/rakudo,Gnouc/rakudo,labster/rakudo,rakudo/rakudo,softmoth/rakudo,salortiz/rakudo,tony-o/rakudo,MasterDuke17/rakudo,tbrowder/rakudo,lucasbuchala/rakudo,tony-o/rakudo,MasterDuke17/rakudo,salortiz/rakudo,nbrown/rakudo,lucasbuchala/rakudo,salortiz/rakudo,softmoth/rakudo,MasterDuke17/rakudo,tbrowder/rakudo,nbrown/rakudo,MasterDuke17/rakudo,softmoth/rakudo,nbrown/rakudo,rakudo/rakudo,Gnouc/rakudo,rakudo/rakudo,lucasbuchala/rakudo,Gnouc/rakudo,rakudo/rakudo,salortiz/rakudo,salortiz/rakudo,labster/rakudo,salortiz/rakudo,rakudo/rakudo,nbrown/rakudo,tbrowder/rakudo