Streamline Channel.receive/receive-nil-on-close
Streamline Channel.receive/receive-nil-on-close

There is no difference between these two methods apart from the return
value when the Channel closes.  Therefore, it was implemented with a
private method taking a flag.

However, when you use .hyper on something longer running, the profile
shows that Channel!receive is not even speshed.  Therefore it made sense
to streamline and duplicate the .receive logic, so that it can be speshed
and JITted.

This makes test-t --race <hello20.csv about 2.5% faster, and uses about
2.8% less CPU.

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