Make `lazy gather` up to 15% faster
Make `lazy gather` up to 15% faster

By using nqp::ifnull to see whether there has been an iterator created
already.  The benchmark is for:

    lazy gather { .take for ^500000 }

so very light on what is actually been gathered.  So your actual mileage
will vary.

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