First steps on fixing string async socket reads.
First steps on fixing string async socket reads.

This uses the new VM-backed streaming decode API, which will allow for
much better error handling, choosing the encoding, and in the future
provide support for userspace decoders to be plugged in. This nearly
works, with a caveat: we run into a phaser scoping bug with the LAST
block that will need some attention. (Also, the streaming decode stuff
is not yet available for the JVM backend.)

tony-o/rakudo,jonathanstowe/rakudo,raydiak/rakudo,tbrowder/rakudo,sjn/rakudo,sjn/rakudo,salortiz/rakudo,labster/rakudo,salortiz/rakudo,rakudo/rakudo,Gnouc/rakudo,salortiz/rakudo,jonathanstowe/rakudo,rakudo/rakudo,awwaiid/rakudo,nbrown/rakudo,raydiak/rakudo,tbrowder/rakudo,sjn/rakudo,MasterDuke17/rakudo,MasterDuke17/rakudo,lucasbuchala/rakudo,softmoth/rakudo,lucasbuchala/rakudo,tony-o/rakudo,MasterDuke17/rakudo,tony-o/rakudo,jonathanstowe/rakudo,usev6/rakudo,softmoth/rakudo,usev6/rakudo,raydiak/rakudo,awwaiid/rakudo,usev6/rakudo,salortiz/rakudo,rakudo/rakudo,lucasbuchala/rakudo,samcv/rakudo,MasterDuke17/rakudo,samcv/rakudo,labster/rakudo,salortiz/rakudo,MasterDuke17/rakudo,labster/rakudo,Gnouc/rakudo,jonathanstowe/rakudo,tony-o/rakudo,samcv/rakudo,rakudo/rakudo,softmoth/rakudo,awwaiid/rakudo,usev6/rakudo,jonathanstowe/rakudo,MasterDuke17/rakudo,awwaiid/rakudo,salortiz/rakudo,rakudo/rakudo,samcv/rakudo,sjn/rakudo,lucasbuchala/rakudo,Gnouc/rakudo,raydiak/rakudo,samcv/rakudo,Gnouc/rakudo,tony-o/rakudo,tbrowder/rakudo,nbrown/rakudo,Gnouc/rakudo,rakudo/rakudo,Gnouc/rakudo,sjn/rakudo,nbrown/rakudo,awwaiid/rakudo,nbrown/rakudo,softmoth/rakudo,softmoth/rakudo,labster/rakudo,tbrowder/rakudo,lucasbuchala/rakudo,tony-o/rakudo,tbrowder/rakudo,nbrown/rakudo,labster/rakudo,labster/rakudo,tbrowder/rakudo,usev6/rakudo,nbrown/rakudo